DFS与BFS
2016-07-25 22:54
274 查看
来自别人的:http://blog.csdn.net/alalalalalqp/article/details/9155419
下面是我自己的】=:
DFS:
BFS:
下面是我自己的】=:
DFS:
#include <iostream> #include <string.h> #include <queue> #include <algorithm> #include <cmath> #include <cstdio> #define MAXN 100 using namespace std; char a[MAXN+5][MAXN+5]; int k,n,m; int dx[]={1,0,-1,0}; int dy[]={0,1,0,-1}; bool dfs(int x,int y) { if(a[x][y]=='E') return true; if(a[x][y]=='*') return true; if(a[x][y]>='0'&&a[x][y]<='9') if(a[x][y]-'0'>k) return false; a[x][y]='#'; for(int i=0;i<4;i++) { int xx=x+dx[i]; int yy=y+dy[i]; if(xx>=0&&xx<n&&yy>=0&&yy<m&&a[xx][yy]!='#') if(dfs(xx, yy)) return true; } return false; } int main() { int T,sx,sy; while(~scanf("%d",&T)) { while(T--) { scanf("%d%d%d",&k,&n,&m); getchar(); for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { scanf("%c",&a[i][j]); if(a[i][j]=='S') { sx=i; sy=j; } } getchar(); } if(dfs(sx,sy)) printf("No\n"); else printf("Yes\n"); } } return 0; }
BFS:
#include <iostream> #include <string.h> #include <queue> #include <algorithm> #include <cmath> #include <cstdio> #define MAXN 200000 using namespace std; int n; struct Node { int x,d; }; bool a[MAXN+5]; Node temp; queue<Node> q; int bfs(int k) { memset(a, false, sizeof(a)); while(!q.empty()) q.pop(); temp.x=k;temp.d=0; q.push(temp); while(!q.empty()) { temp=q.front();q.pop(); int x=temp.x; int d=temp.d; if(a[x]) continue; if(x==n) return d; a[x]=true; if(x*2<2*n&&!a[2*n]) { temp.x=x*2; temp.d=d+1; q.push(temp); } if(x>1&&!a[x-1]) { temp.x=x-1; temp.d=d+1; q.push(temp); } if(x+1<=n&&!a[x+1]) { temp.x=x+1; temp.d=d+1; q.push(temp); } } return 0; } int main() { int T; while(~scanf("%d",&T)) { while(T--) { scanf("%d",&n); printf("%d\n",bfs(1)); } } return 0; }
相关文章推荐
- Win2003利用dfs(分布式文件系统)在负载均衡下的文件同步配置方案
- win2003分布式文件系统(dfs)配置方法[图文详解]
- win2003分布式文件系统及其部署 图文教程
- js算法: 图的两种表示方法以及广度优先算法
- Hadoop2.6+jdk8的安装部署(1)——使用jar包安装部署【详细】
- Hadoop FS Shell
- DFS使用方法总结
- FastDFS注意事项
- 无忧技术带您预览DFS(分布式文件系统)管理控制台
- C 语言实现迷宫 DFS算法
- 一幅图弄清DFT与DTFT,DFS的关系
- HDFS---Namenode
- HDFS ---- Services startup
- POJ1523 SPF dfs
- poj1731 Orders dfs
- 【日常练习】Prime Ring Problem(素数环)
- 【日常练习 搜索】诡异的楼梯(队列+bfs)
- Surrounded Regions
- Word Ladder, Gray Code
- Microsoft Windows Server 2003 R2 分布式文件系统解决方案概述