#include <iostream>
using std::cin;
using std::cout;
int mp[31][31], n, m;
int dx[5] = {-1, 0, 1, 0}, dy[5] = {0, 1, 0, -1};
int cnt;
void dfs(int x, int y) {
for (int i = 0; i < 4; i++) {
int xx = x + dx[i];
int yy = y + dy[i];
if(xx >= 1 and xx <= n and yy >= 1 and yy <= m and mp[xx][yy] == 0) {
mp[xx][yy] = 1;
dfs(xx, yy);
}
}
}
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
cin >> mp[i][j];
}
}
for (int i = 1; i <= n; i++) {
for (int j = 1; j <= m; j++) {
if (mp[i][j] == 0) {
dfs(i, j);
cnt ++;
}
}
}
cout << cnt;
return 0;
}
红烧鱼王国
最新推荐文章于 2024-06-08 10:09:40 发布