1 条题解
-
0
using namespace std; int di[4] = {0,1,0,-1},dj[4] = {1,0,-1,0}; int a[101][101] = {0}; int n,m,cnt = 0; void bfs(int i,int j) { queue<int> qi,qj; qi.push(i); qj.push(j); a[i][j] = 0; while(!qi.empty()) { int i = qi.front(); int j = qj.front(); for(int k=0;k<4;k++) { int x = i+di[k]; int y = j+dj[k]; if(x>=0 && x<n && y>=0 && y<m && a[x][y]!=0) { qi.push(x); qj.push(y); a[x][y] = 0; } } qi.pop(); qj.pop(); } } int main() { cin>>n>>m; for(int i=0;i<n;i++) { string row; //这里被硬控三天 cin>>row; //这里也是 for(int j=0;j<m;j++) { a[i][j] = row[j] - '0';//这里更是 } } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(a[i][j] != 0) { cnt++; bfs(i,j); } } } cout<<cnt; return 0; } //不言了,头一回写这么多
信息
- ID
- 188
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- 递交数
- 8
- 已通过
- 2
- 上传者