迷宫问题二 统计路径条数(dfs+回溯)
2014-12-12 13:01
573 查看
#include<iostream> using namespace std; char maze[100][100]; bool flag[100][100]; int dx[]={0,0,1,-1}; int dy[]={1,-1,0,0}; int m,n; int sum=0; void dfs(int x,int y) { if(maze[x][y]=='T'){sum++;return ;} for(int i=0;i<4;i++) { int nx=x+dx[i]; int ny=y+dy[i]; if(flag[nx][ny]==0&&maze[nx][ny]=='*'||maze[nx][ny]=='T'&&nx>0&&ny>0&&nx<m+1&&ny<n+1)//逗比死了||写成了&&结果错到死 { flag[nx][ny]=1; dfs(nx,ny); flag[nx][ny]=0; } } } int main() { while(cin>>m>>n){ memset(maze,0,sizeof(maze)); memset(flag,0,sizeof(flag)); for(int i=1;i<=m;i++) for(int j=1;j<=n;j++) cin>>maze[i][j]; flag[1][1]=1; dfs(1,1); cout<<sum<<endl; } }
相关文章推荐
- FOJ 1205 小鼠迷宫问题【BFS+dfs回溯查找路径】
- 迷宫问题一 找到迷宫的一条路径(DFS+回溯)
- HDU/HDOJ 2563 统计问题 回溯发DFS
- poj 3984 迷宫问题 dfs 求迷宫路径
- poj 迷宫问题(路径记录)(DFS,BFS)
- Java利用回溯思想解决迷宫问题(寻找最短路径)
- 经典算法<一>迷宫问题 1.单条路径 DFS求解 C++实现
- 迷宫问题,求最短路径长度、最短路径条数、所有最短路径,DFS+BFS+栈+队列
- poj 迷宫问题(路径记录)(DFS,BFS)
- poj 迷宫问题(路径记录)(DFS,BFS)
- poj 迷宫问题(路径记录)(DFS,BFS)
- 经典算法<一>迷宫问题 4.多条路径 求路径条数求解 C++实现
- poj 3984 迷宫问题 dfs 求迷宫路径
- poj 迷宫问题(路径记录)(DFS,BFS)
- 迷宫问题[1] DFS 不保证最短路径
- poj 迷宫问题(路径记录)(DFS,BFS)
- 数据结构与算法学习之路:迷宫问题——回溯思想找出所有路径
- POJ 3984-迷宫问题(BFS+回溯路径)
- poj 3984 迷宫问题【dfs+路径输出】
- poj 迷宫问题(路径记录)(DFS,BFS)