DFS专攻:POJ 2386 与HDU 1241相似题目
来源:互联网 发布:农村淘宝网页 编辑:程序博客网 时间:2024/05/06 22:51
POJ 2386:
#include<iostream>#include<cstdio>int n,m;char b[103][103];using namespace std;void dfs(int i,int j){ if(b[i][j]=='.'||i<0||i>=n||j<0||j>=m) return; //递归不符合的时候直接停止搜索 b[i][j]='.'; //符合的设为‘.’,剩下的再重新递归效率就快了 dfs(i-1,j-1); dfs(i-1,j); dfs(i-1,j+1); dfs(i,j-1); dfs(i,j+1); dfs(i+1,j-1); dfs(i+1,j); dfs(i+1,j+1);}int main(){ int i,j,sum=0; cin>>n>>m; for(i=0;i<n;i++) scanf("%s",b[i]); for(i=0;i<n;i++) for(j=0;j<m;j++) if(b[i][j]=='W') { sum++; dfs(i,j); } cout<<sum<<endl; return 0;}
HDU 1241:
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string>#include<cmath>#include<set>#include<vector>#include<stack>#include<ctime>#include<cstdlib>#define mem(a,b) memset(a,b,sizeof(a))typedef long long ll;using namespace std;int n,m;char a[102][102];void dfs(int x,int y){ if(x<0||x>=m||y<0||y>=n||a[x][y]=='*') return; a[x][y]='*'; dfs(x,y+1); dfs(x,y-1); dfs(x+1,y); dfs(x-1,y); dfs(x+1,y+1); dfs(x-1,y+1); dfs(x+1,y-1); dfs(x-1,y-1);}int main(){ while(cin>>m>>n&&m) { int i,j,sum=0; for(i=0;i<m;i++) cin>>a[i]; for(i=0;i<m;i++) for(j=0;j<n;j++) { if(a[i][j]=='@') { sum++; dfs(i,j); } } cout<<sum<<endl; } return 0;}
- DFS专攻:POJ 2386 与HDU 1241相似题目
- DFS专攻:HDU 1312与COJ 1061
- DFS专攻:POJ 1111
- DFS专攻:POJ 3194 简单DFS
- DFS专攻:HDU 1010(DFS+奇偶剪枝)
- DFS专攻:HDU 2128 哈密顿绕行世界问题
- hdu与poj题目分类
- hdu 1241 最基本的DFS题目
- 与百钱买百鸡相似的题目
- POJ 题目 Hopscotch(dfs)
- hdu 题目1241 Oil Deposits(简单DFS)
- hdu poj 题目分类
- HDU / POJ 题目分类
- poj 1190生日蛋糕(DFS 经典题目)
- POJ 题目1321 棋盘问题(DFS)
- POJ 题目1753 Flip Game(DFS)
- POJ 题目3140 Contestants Division(DFS)
- poj 3009 Curling 2.0 【dfs经典题目】
- 网站统计中的数据收集原理及实现
- IPhone开发中tableview cell的气泡样式的实现
- 某国内IT大牌名企校招笔试 + 树的学习—(递归构建二叉树、递归非递归前序中序后序遍历二叉树、根据前序序列、中序序列构建二叉树)
- Myeclipse中js文件报错解决
- 《论快乐》——钱钟书
- DFS专攻:POJ 2386 与HDU 1241相似题目
- IOS Layer的使用(阴影)
- 张三,李四的数据题
- 当不小心update一个表中的一个字段后,如何恢复。
- linux 下面一个不错的截图工具
- WebSocket
- 【Linux】生产者消费者编程实现-线程池+信号量
- 互联网用户行为采集淘宝方案
- 执行cp命令时提示cp: 略过目录