1 条题解
-
0
#include<bits/stdc++.h> using namespace std; struct node{ int x; int y; }t,p; char a[101][101]; int book[101][101]; int next[4][2]={{0,-1},{-1,0},{0,1},{1,0}}; int tot,n,m; void bfs(int i,int j){ book[i][j]=1; queue<node>q; t.x=i; t.y=j; q.push(t); while(!q.empty()){ t=q.front(); for(int k=0;k<=4;k++){ int tx=t.x+next[k][0]; int ty=t.y+next[k][1]; if(tx<1||tx>n||ty<1||ty>m){ continue; } if(book[tx][ty]==0&&a[tx][ty]=='W'){ book[tx][ty]=1; p.x=tx; p.y=ty; q.push(p); } } q.pop(); } } int main() { cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ if(book[i][j]==0&&a[i][j]=='W'){ bfs(i,j); tot++; } } } cout<<tot; return 0; }
信息
- ID
- 431
- 时间
- 1000ms
- 内存
- 16MiB
- 难度
- 7
- 标签
- 递交数
- 73
- 已通过
- 18
- 上传者