3 条题解
- 
  1
#include <stdio.h> #include <iostream> #include <queue> using namespace std; int n , m; char a[200][200]; struct node { int x,y; }; int dx[] = {1,0,-1,0}; int dy[] = {0,1,0,-1}; void bfs(int x, int y) { queue<node> p; p.push( (node){x,y} ); a[x][y] = '0'; while(!p.empty()) { node t = p.front(); p.pop(); for(int i = 0 ; i < 4 ; i++) { x = t.x + dx[i]; y = t.y + dy[i]; if(x >= 0 && x < n && y >= 0 && y < m && a[x][y] != '0') { p.push((node){x,y}); a[x][y] = '0'; } } } } int main() { cin >>n >> m; for(int i = 0 ;i < n ; i++) cin >> a[i]; int ans = 0; for(int i = 0 ; i < n ; i++) { for(int j = 0 ; j < m ; j++) { if(a[i][j] != '0') { bfs(i,j); ans++; } } } cout << ans << endl; } 
信息
- ID
 - 1309
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 4
 - 标签
 - 递交数
 - 179
 - 已通过
 - 77
 - 上传者