首页 > 代码库 > HDU 1241Oil Deposits---(dfs)
HDU 1241Oil Deposits---(dfs)
http://acm.hdu.edu.cn/showproblem.php?pid=1241
题意:求几个油田
#include "iostream" #include "cstdio" using namespace std; int r,c,sum; char map[100][100]; int dir[8][2]={{0,1},{0,-1},{1,0},{-1,0},{1,1},{1,-1},{-1,1},{-1,-1}};///8个方向 void dfs(int x,int y) { if(x<0||y<0||x>=r||y>=c)///越界 return; else if(map[x][y]==‘@‘)///找到油田 { map[x][y]=‘*‘; for(int i=0;i<8;i++) dfs(x+dir[i][0],y+dir[i][1]);///递归深搜 } else return; } int main() { int i,j; while(scanf("%d%d",&r,&c)!=EOF&&r) { sum=0; for(i=0;i<r;i++) scanf("%s",map[i]);///输入地图 for(i=0;i<r;i++) for(j=0;j<c;j++) { if(map[i][j]==‘@‘)///找到油田,个数加一 { sum++; dfs(i,j); } } printf("%d\n",sum); } return 0; }
HDU 1241Oil Deposits---(dfs)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。