hdoj1241Oil Deposits bfs|dfs
来源:互联网 发布:如何搭建apache服务 编辑:程序博客网 时间:2024/05/23 00:24
在csdn水的第一篇
题目链接
DFS
#include <iostream>using namespace std;const int Max=110;char map[Max][Max];int x,y,count=0;int dir[8][2]={{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};//八个方向bool in_range(int x0, int y0)//判断坐标是否在界内{ if (( x0<x && x0>=0 ) && ( y0>=0 && y0<y )) return true; return false;}void dfs(int x0,int y0){ map[x0][y0]='*'; int xx,yy; for(int i=1;i<=8;i++) //八个方向 { xx=x0+dir[i-1][0]; yy=y0+dir[i-1][1]; if(in_range(xx,yy)&&map[xx][yy]=='@') //界内&为@ → dfs该点 dfs(xx,yy); }}int main(){ int h,w; while(cin>>h>>w,h||w) { x=h,y=w; int num=0; for(int i=0;i<h;i++) for(int j=0;j<w;j++) cin>>map[i][j]; for(int i=0;i<h;i++) for(int j=0;j<w;j++) if(map[i][j]=='@') {dfs(i,j);num++;} cout<<num<<endl; } return 0;}
BFS
#include <iostream>#include <string.h>#include <queue>#define F(i,a,b) for(int i=a;i<=b;i++)#define f(i,a,b) for(int i=a;i<b;i++)#define mem(a); memset(a,0,sizeof(a));#define CTW int T;cin>>T;while(T--)#define put(a); cout<<a<<endl;using namespace std;const int Max=110;char map[Max][Max];int x,y,num=0;int dir[8][2]={{-1,-1},{-1,0},{-1,1},{0,-1},{0,1},{1,-1},{1,0},{1,1}};// ↖ ↑ ↗ ← → ↙ ↓ ↘bool in(int x0, int y0){return x0<x && x0>=0 && y0>=0 && y0<y;}void bfs(int x0,int y0){queue<int>q;int x,y,xx,yy;q.push(x0),q.push(y0);while(!q.empty()){x=q.front(),q.pop();y=q.front(),q.pop();f(i,0,8){xx=x+dir[i][0],yy=y+dir[i][1];if(!in(xx,yy)||map[xx][yy]=='*')continue;map[xx][yy]='*';q.push(xx),q.push(yy);}}}int main(){ while(cin>>x>>y,x||y) { num=0; f(i,0,x)cin>>map[i]; f(i,0,x)f(j,0,y)if(map[i][j]=='@'){map[i][j]='*';bfs(i,j);num++;} put(num); } return 0;}
0 0
- hdoj1241Oil Deposits bfs|dfs
- hdoj1241Oil Deposits(BFS)
- HDOJ1241Oil Deposits(DFS)
- hdoj1241Oil Deposits(DFS)
- hdoj1241Oil Deposits
- hdoj1241Oil Deposits
- HDU1241_Oil Deposits(BFS)+(DFS)
- Oil Deposits BFS+DFS
- Oil Deposits(dfs/bfs)
- poj1562&&hdoj1241Oil Deposits
- HDU1241 Oil Deposits【dfs&bfs】
- 【DFS&BFS】HDU1241-Oil Deposits
- hdu1241Oil Deposits(dfs&&bfs)
- poj 1562Oil Deposits( BFS DFS)
- HDU-#1241 Oil Deposits(BFS & DFS)
- HDU 1241 Oil Deposits[dfs || bfs]
- HDU 1241 Oil Deposits (DFS/BFS)
- 【hdu1241】Oil Deposits——dfs/bfs
- 总结Android HAL层的使用方法
- android自定义加载动画
- 拖放元素
- easyui扩展 - 鼠标放上后浮动提示
- 50个c/c++源代码网站
- hdoj1241Oil Deposits bfs|dfs
- handler处理不当
- Getting Docker to run on Power8
- 项目经验分享--strust2一个程序员难解难分的队友啊!
- 自定义View(详解)多案例模块
- java并发编程-Lock
- 利用 Visual Studio 自带工具提高开发效率
- ICMP重定向原理
- C#委托与回调函数