4 条题解
-
0
#include <bits/stdc++.h> using namespace std;
const int MAXN = 105; int n, m, ans; char a[MAXN][MAXN];
void dfs(int x, int y) { if (x < 1 || x > n || y < 1 || y > m || a[x][y] == '0') { return; } a[x][y] = '0'; dfs(x + 1, y); dfs(x, y + 1); dfs(x - 1, y); dfs(x, y - 1); }
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 (a[i][j] != '0') { ans++; dfs(i, j); } } } cout << ans << endl; return 0; }
信息
- ID
- 2311
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 325
- 已通过
- 103
- 上传者