标签:stream namespace std char == iostream return for code
前前后后写了还几遍了,本来想着今天用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; }
标签:stream namespace std char == iostream return for code
原文地址:https://www.cnblogs.com/benzikun/p/11171859.html