标签:des style color os io strong for ar
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 12621 | Accepted: 6888 |
Description
Input
Output
Sample Input
1 1 * 3 5 *@*@* **@** *@*@* 1 8 @@****@* 5 5 ****@ *@@*@ *@**@ @@@*@ @@**@ 0 0
Sample Output
0 1 2 遇到@就搜(广搜深搜都可以)8个方向把相邻的@清掉
#include <iostream> #include <cstdio> #include <cstring> #include <vector> #include <queue> #include <algorithm> using namespace std; typedef struct node { int x,y; node (int a,int b){x=a;y=b;} }; int mv[8][2]={{0, 1}, {0, -1}, {1, 0}, { -1, 0},{-1,-1},{-1,1},{1,-1},{1,1}}; char ma[110][110]; int m, n, ans; void bfs(int x,int y) { ma[x][y]='*'; queue <node> Q; Q.push(node(x,y)); while(!Q.empty()) { node v=Q.front();Q.pop(); if(ma[v.x][v.y]=='@') ma[v.x][v.y]='*'; for(int i=0;i<8;i++) { int tx=v.x+mv[i][0]; int ty=v.y+mv[i][1]; if(tx>=0&&tx<m&&ty>=0&&ty<n&&ma[tx][ty]=='@') { ma[tx][ty]='*'; Q.push(node(tx,ty)); } } } } int main() { int i; while (cin >> m >> n) { if (!m && !n) { break; } getchar(); for (i = 0; i < m; i++) { cin >> ma[i]; } ans=0; for(int i=0;i<m;i++) for(int j=0;j<n;j++) if(ma[i][j]=='@') { bfs(i,j); ans++; } cout<<ans<<endl; } return 0; }
POJ 1562-Oil Deposits(BFS),布布扣,bubuko.com
标签:des style color os io strong for ar
原文地址:http://blog.csdn.net/qq_16255321/article/details/38663171