POJ1562
Posted benzikun
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ1562相关的知识,希望对你有一定的参考价值。
前前后后写了还几遍了,本来想着今天用BFS写,结果不知道怎么用BFS回溯,然后就用DFS写了,结果应该书数组爆了,不知道怎么回事
之后又改了几遍
#include <iostream> using namespace std; int m,n; int k[8][2]=1,0,1,1,1,-1,-1,0,-1,1,-1,-1,0,1,0,-1; char a[105][105]; void dfs(int x,int y) a[x][y]=‘*‘; for(int i=0;i<8;i++) if(a[x+k[i][0]][y+k[i][1]]==‘@‘ && x+k[i][0]>=0 && x+k[i][0]<m && y+k[i][1]>=0 && y+k[i][1]<n) dfs(x+k[i][0],y+k[i][1]); int main() while(cin>>m>>n) if(m==0 && n==0) break; int ans=0; for(int i=0;i<m;i++) for(int j=0;j<n;j++) cin>>a[i][j]; for(int i=0;i<m;i++) for(int j=0;j<n;j++) if(a[i][j]==‘@‘) dfs(i,j); ans++; cout<<ans<<endl; return 0;
以上是关于POJ1562的主要内容,如果未能解决你的问题,请参考以下文章