poj 3984 迷宫问题 —— 典型搜索--DFS递归
来源:互联网 发布:摇胸软件 编辑:程序博客网 时间:2024/05/16 02:56
四个方向,每次选择一个方向走,不通时走下一个方向,如果四个方向都不能走时,则退一格。依题意,可用DFS递归实现。
#include<stdio.h>#include<string.h>int n,m,i,j,k,flag,count;int data[5][5],vis[5][5]; int dir[4][2]={{1,0},{0,1},{-1,0},{0,-1}};struct Path{ int a,b;}path[10][10];void dfs(int x,int y){int i,xx,yy;if(x==4&&y==4){flag=1;return;} for(i=0;i<4;i++) { xx = x+dir[i][0];yy = y+dir[i][1];if(vis[xx][yy]==0&&data[xx][yy]==0&&xx>=0&&xx<5&&yy>=0&&yy<5){vis[xx][yy] = 1;path[xx][yy].a=x;path[xx][yy].b=y; dfs(xx,yy);if(flag) return;path[xx][yy].a=-1;path[xx][yy].b=-1;vis[xx][yy]=0;} }}int main() // 迷宫问题{ for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&data[i][j]); memset(vis,0,sizeof(vis)); memset(path,-1,sizeof(path)); flag=0; dfs(0,0); for(i=0;i<5;i++) for(j=0;j<5;j++)if(path[i][j].a!=-1)printf("(%d, %d)\n",path[i][j].a,path[i][j].b);printf("(4, 4)\n"); return 0;}
- poj 3984 迷宫问题 —— 典型搜索--DFS递归
- poj 3984 迷宫问题 —— 典型搜索--DFS递归
- 迷宫问题 poj 3984 搜索算法 宽搜+dfs回溯
- POJ 3984 迷宫问题 (DFS(深度优先搜索))
- POJ 3984 迷宫问题(bfs搜索,递归打印)
- POJ 3984 迷宫问题 DFS
- poj 3984 迷宫问题【dfs】
- POJ 3984 迷宫问题 【DFS】
- POJ-3984迷宫问题dfs
- [搜索] POJ 3984 迷宫问题
- 迷宫问题 POJ dfs
- poj--3984 迷宫问题(dfs)
- POJ 3984 迷宫问题 (DFS)
- POJ - 3984 - 迷宫问题 (DFS)
- POJ 3984 迷宫问题 (DFS+BFS)
- poj 3984 迷宫问题【BFS && DFS】【简单】
- poj 3984 迷宫问题【dfs+路径输出】
- 【POJ】3984 迷宫问题 BFS 与 DFS
- Flex按回车键焦点移动到下一个组件
- 看待“图书馆“开门纳乞””问题 ?
- 有两个序列a,b,大小都为n,序列元素的值任意整数,无序
- 数学之路(3)-机器学习(3)-机器学习算法-贝叶斯定理(1)
- 用Vector取代多维数组
- poj 3984 迷宫问题 —— 典型搜索--DFS递归
- LINUX下使用crontab进行RMAN备份实验
- scala里面的zip
- 用GVim建立IDE编程环境(Win篇)
- 异常 Exception与RuntimeException(1)
- _mysql_exceptions.OperationalError: **(2002, "Can't connect to local MySQL server through socket '/v
- 刘志军为什么能一手遮天
- mysql命令行操作
- [K/3Cloud] 在插件中为辅助资料赋值