博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
经典算法50例 P1
阅读量:3897 次
发布时间:2019-05-23

本文共 1983 字,大约阅读时间需要 6 分钟。

1.巴斯卡三角形

在这里插入图片描述
也就是有以下一些特点:把他看成一个正方形但只有右下部分。1.第一列全是1 2,对角线上全是1
3.对于其他位置 等于他的上一行对应列和上一行上一列的值相加。
也就是 dp[i][j]=dp[i-1][[j+dp[i-1][j-1]

#include
#include
#include
#include
#include
#include
using namespace std;//巴斯卡三角形,假设就是给一个N作为规模int main(){ int n,i,j; scanf("%d",&n); //n就是相应的规模 //应该是这个数组,上半部分全是空格,先初始化 //然后开始格式化 char Str[n-1][n-1]; // memset(Str,' ',sizeof(Str)); Str[0][0]='1'; for(i=1;i

三色旗问题:

使用到了数组指针,分成三类,分别是蓝色的指针,白色的指针,和红色的指针。
并且这些有三种情况,以白色的指针为主,当一个值是白色的时,则指针数加一,如果是蓝色的话,那就和蓝色的位置交换,并且将蓝色的位置和白色的位置都加一,最后如果是红色的话,因为红色的指针是在最后 所以是指针减一,并且白色位置加一,然后将对应位置换位。
在这里插入图片描述

#include
#include
#include
#include
#include
#include
using namespace std;//三色旗,主要就是指针的作用//再写一个用来交换的char Str[5]={ 'r','b','w','w','r'};void swap(int x,int y){ //交换这个两个的位置 char temp=Str[x]; Str[x]=Str[y]; Str[y]=temp;}int main(){ //先创建一个数组用来当例子 int i; int len=strlen(Str); int flagB=0; int flagW=0; int flagR=len-1; //开始计算 while(flagW

老鼠走迷宫(-)

应该是直接使用dfs,来判断是否有路

在这里插入图片描述

和本题无关,但是就是一个dfs的算法,会有一个判断函数,用来判断这个点能不能用,然后有两个数组来指示前后左右,最后就是dfs(map,x,y)判断前后左右是否可以,直到走到对应的位置,return true

骑士走键盘

这道题的核心递归思想参数有x的起点,y的起点,总共走了几步

#include
#include
#include
#include
#include
#include
using namespace std;//首先是一个八乘八的数组,表示这个地图int map[8][8];int Stepx[8]={ -2, -1, 1, 2, 2, 1, -1, -2};int Stepy[8]={ 1, 2, 2, 1, -1, -2, -2, -1};//这代表能走的方向int i;//然后开始写深度遍历bool DFS(int starx,int stary,int index){ //首先判断这个位置是不是64,也就是走到头了,如果是,那就说明正确,如果不是那就说明还得进行 map[starx][stary]=index; if(index==64) return true; //开始分别判断其他位置 for(int i=0;i<8;i++){ int newx=starx+Stepx[i]; int newy=stary+Stepy[i]; //开始判断这个位置合不合理 if(newx>=0&&newx<8&&newy>=0&&newy<8&&map[newx][newy]==0){ //没过界,并且可以访问 DFS(newx,newy,index+1); } } map[starx][stary]=0; return false;}int main(){ //对map初始化 memset(map,0,sizeof(map)); if(DFS(0,0,1)) printf("YES"); else printf("No");}

转载地址:http://eufen.baihongyu.com/

你可能感兴趣的文章
Selenium自动化测试(八)之上传文件
查看>>
Selenium UI自动化(Java篇)
查看>>
使用Fiddler模拟弱网进行测试
查看>>
使用POI读取Excel测试用例
查看>>
记一次数据推送的异常解决端口解决
查看>>
linux、mysql、nginx、tomcat 性能参数优化
查看>>
Nginx使用Linux内存加速静态文件访问
查看>>
杀掉nginx进程后丢失nginx.pid,如何重新启动nginx
查看>>
nginx另类复杂的架构
查看>>
Nginx流量复制/AB测试/协程
查看>>
使用NTP服务器完美解决VMware Linux时间无法同步问题
查看>>
机器学习笔记(3)---K-近邻算法(1)---约会对象魅力程度分类
查看>>
机器学习笔记(4)---K-近邻算法(2)---使用sklearn中的KNN算法
查看>>
数据结构——外部排序
查看>>
UNIX网络编程——System V 消息队列
查看>>
信号量、互斥锁,读写锁和条件变量的区别
查看>>
UNIX网络编程——Posix共享内存区和System V共享内存区
查看>>
js循环语句
查看>>
js中时钟的写法
查看>>
js事件冒泡
查看>>