社区讨论
30pts求条
P1451求细胞数量参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @m6ug5z2e
- 此快照首次捕获于
- 2025/02/07 15:30 去年
- 此快照最后确认于
- 2025/11/04 09:49 4 个月前
CPP
#include <bits/stdc++.h>
using namespace std;
int n, m, ans, a[110][110];
int dx[4] = {-1, 1, 0, 0}, dy[4] = {0, 0, -1, 1};
bool vis[110][110];
void dfs(int x, int y) {
vis[x][y] = 1;
for (int i = 0; i < 4; i ++) {
int tx = x + dx[i], ty = y + dy[i];
if (vis[tx][ty] == 1 || a[tx][ty] == 0) return;
dfs(tx, ty);
}
}
int main() {
scanf("%d %d", &n, &m);
for (int i = 1; i <= n; i ++)
for (int j = 1; j <= m; j ++)
scanf("%d", &a[i][j]);
for (int i = 1; i <= n; i ++) {
for (int j = 1; j <= m; j ++) {
if (vis[i][j] == 0 && a[i][j] != 0) {
ans ++;
dfs(i, j);
}
}
}
cout << ans;
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...