首页 > 代码库 > POJ 2386 lake counting DFS
POJ 2386 lake counting DFS
朴素DFS
计算有多少个水坑
TEST
10 12W........WW..WWW.....WWW....WW...WW..........WW..........W....W......W...W.W.....WW.W.W.W.....W..W.W......W...W.......W.3
/* DFS,挑战程序设计竞赛 巫 */#include<cstdio>#include<iostream>using namespace std;string s[110];int m,n;bool inbound(int x,int bound) { return (x>=0&&x<bound)?true:false; }void DFS(int x,int y){ s[x][y]=‘.‘; for(int i=-1;i<=1;++i) for(int j=-1;j<=1;++j){ int dx=x+i,dy=y+j; if(inbound(dx,m)&&inbound(dy,n)&&s[dx][dy]==‘W‘) DFS(dx,dy); }}int main(){ cin >> m >> n; for(int i=0;i<m;++i) cin >> s[i]; int cnt=0; for(int i=0;i<m;++i) for(int j=0;j<n;++j) if(s[i][j]==‘W‘) { DFS(i,j); cnt++; } cout << cnt << endl; return 0;}
POJ 2386 lake counting DFS
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。