首页 > 代码库 > ZOJ2165 简单DFS搜索
ZOJ2165 简单DFS搜索
1 #include<iostream> 2 #include<cstring> 3 #include<cstdlib> 4 #include<algorithm> 5 #define MAXN 25 6 using namespace std; 7 int h,w; 8 int ans; 9 int dir[4][2]={-1,0,1,0,0,-1,0,1};10 char map[MAXN][MAXN];11 12 bool ok(int x,int y)13 {14 if(x<0||x>=h) return false;15 if(y<0||y>=w) return false;16 if(map[x][y]==‘#‘) return false;17 return true;18 }19 void dfs(int a,int b){20 map[a][b]=‘#‘;21 ans++;22 int i;23 for(i=0;i<4;i++){24 int xx=a+dir[i][0];25 int yy=b+dir[i][1];26 if(ok(xx,yy)){27 dfs(xx,yy);28 }29 }30 31 }32 int main(){33 int q,e;34 int i,j;35 while(cin>>w>>h){36 for(i=0;i<h;i++){37 for(j=0;j<w;j++){38 cin>>map[i][j];39 if(map[i][j]==‘@‘)40 {q=i,e=j;}41 }42 }43 ans=0;44 dfs(q,e);45 cout<<ans<<endl;46 for(i=0;i<h;i++){47 for(j=0;j<w;j++){48 cout<<map[i][j];49 }50 cout<<endl;51 }52 }53 return 0;54 }
简单的DFS 刚开始把i定义成全局变量 orz 查了好久。。。这游戏太难了
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。