#include<iostream>
using namespace std;
int maze [5][5] = {
0, 1, 0, 0, 0,
0, 1, 0, 1, 0,
0, 0, 0, 0, 0,
0, 1, 1, 1, 0,
0, 0, 0, 0, 0,
};
typedef struct
{int x;int y;}Point;
int dir[4][2]={{0,-1},{0,1},{1,0},{-1,0}};
Point path[40];int len=-1;
void dfs(int x,int y)
{ int k,nx,ny;
maze[x][y]=1;
path[++len].x=x;path[len].y=y;
if(x==4 && y==4){//结束条件
cout<<"one case:"<<endl;
for(k=0;k<=len;k++)
cout<<path[k].x<<'\t'<<path[k].y<<endl;
}
else
for(k=0;k<4;k++)
{
nx=x+dir[k][0];ny=y+dir[k][1];//下一位置(nx,ny)
if(nx>=0 &&nx<5 &&ny>=0 && ny<5 && maze[nx][ny]==0){
dfs(nx,ny);
}
}
maze[x][y]=0;//把(nx,ny)尝试后清除当前标记
len--; }
int main()
{
dfs(0,0);
}

  

最新文章

  1. Shell命令和流程控制
  2. FORM中需要反复选择LOV
  3. C++ 11 Template ... 与Decltype 测试
  4. 使用QRCode生成二维码
  5. java编程思想-java注解
  6. MIT 6.828 JOS学习笔记2. Lab 1 Part 1.2: PC bootstrap
  7. [转载][翻译] 利用JSF、SpringFramework和Hibernate构建Web应用的实例讲述
  8. [转]ios平台内存常见问题
  9. 读《我是一只IT小小鸟》有感
  10. 用 Webgoat 撬动地球,看安全测试的引路石!
  11. vsftp 安装日志
  12. 解决&quot;应用程序无法启动,因为应用程序的并行配置不正确&quot;问题
  13. javascript获取链接参数
  14. 转载 jQueryEasyUI Messager基本使用
  15. python to shell vimdiff
  16. Linux 编程笔记(四)
  17. nginx 源码安装的重启命令
  18. vue---import的几种表现形式
  19. Squid.conf配置详情
  20. 读了这篇文章,你将变身web分析大师

热门文章

  1. Redis——入门学习笔记
  2. MyBatis分页插件PageHelper使用方法
  3. nginx 80端口强制转443
  4. Devops 开发运维高级篇之微服务代码上传和代码检查
  5. RainbowCrack彩虹表破解密码hash
  6. BI系统要自研还是采购?这篇文章告诉你
  7. [MethodImpl(MethodImplOptions.Synchronized)]与lock机制
  8. MySQL通过bin log日志恢复数据|手撕MySQL|对线面试官
  9. WPS:将题注与章节连接起来
  10. Navicat15激活(仅供学习使用,严禁任何商业用途)