迷宫
2015-09-01 20:54
375 查看
http://codevs.cn/problem/1215/
接上一篇博客。
这一题的正解还是BFS,如果这题的数据较大DFS一定会超时的
接上一篇博客。
这一题的正解还是BFS,如果这题的数据较大DFS一定会超时的
#include<iostream> #include<stdio.h> #include<cmath> #include<string.h> //#include<map> #include<queue> #include<algorithm> using namespace std; int map[20][20]={0}; int n; bool flag=false; void dfs(int x,int y) { if (x==n-1&&y==n-1) { /* code */ flag=true; }else { if (x>=n||y>=n||x<0||y<0||!map[x][y]) { }else { map[x][y]=0; dfs(x+1,y); dfs(x-1,y); dfs(x,y+1); dfs(x,y-1); } } } int main() { int cishu; cin>>cishu; for (int i = 0; i < cishu; ++i) { /* code */ flag=false; cin>>n; string tempstring; for (int j = 0; j < n; ++j) { /* code */ cin>>tempstring; for (int k = 0; k < n; ++k) { /* code */ if (tempstring[k]=='#') { /* code */ map[j][k]=0; }else { map[j][k]=1; } } } dfs(0,0); if (flag) { /* code */ cout<<"YES"<<endl; }else { cout<<"NO"<<endl; } } return 0; }
相关文章推荐
- UITableView<三>
- js跳转的几种形式
- 面向对象设计原则
- Widget Factory - POJ 2947 高斯消元
- linux socket服务器框架
- Chapter 3: Develop the user experience
- 合并两个递增排序的链表
- Reducer类阅读
- 编程常见英语单词小结
- 华为机试:名字的漂亮度
- ARM汇编指令:adr和ldr的前因后果
- _beginthreadex和_beginthread区别,调用_endthread不会析构局部变量??
- spring的@ModelAttribute作用
- 字符串同构的最小表示方法
- javascript 之闭包
- 找出单链表的倒数第K个(从1开始计数)结点的值
- Hibernate知识点汇总
- OpenCV2:Mat
- 31 Next Permutation
- 杭电OJ-2032_杨辉三角