ysh

杨书蘅  •  10小时前


include <bits/stdc++.h>

using namespace std; char a[55][55][55]; int n, m, k; bool vis[50][50][50];

void dfs(int x, int y, int z) {

if (!vis[x][y][z] || x > n || x < 1 || y > m || y < 1 || z > k || z < 1)
	return;
vis[x][y][z] = true;
dfs(x + 1, y, z);
dfs(x - 1, y, z);
dfs(x, y + 1, z);
dfs(x, y - 1, z);
dfs(x, y, z + 1);
dfs(x, y, z - 1);

}

int main() {

cin >> n >> m >> k;
for (int i = 1; i <= n; i++) {
	for (int j = 1; j <= m; j++) {
		for (int l = 1; l <= k; l++) {
			cin >> a[i][j][l];
		}
	}
}
int cnt = 0;
memset(vis, false, sizeof vis);
for (int i = 1; i <= n; i++) {
	for (int j = 1; j <= m; j++) {
		for (int l = 1; l <= k; l++) {
			if (a[i][j][l] == '#' && !vis[i][j][l]){
				dfs(i, j, l);
			cnt++;
			}
				
		}
	}
}
cout << cnt;
return 0;

}你被骗了

include <bits/stdc++.h>

using namespace std; char a[55][55][55]; int n, m, k; bool vis[50][50][50];

void dfs(int x, int y, int z) {

if (!vis[x][y][z] || x > n || x < 1 || y > m || y < 1 || z > k || z < 1)
	return;
vis[x][y][z] = true;
dfs(x + 1, y, z);
dfs(x - 1, y, z);
dfs(x, y + 1, z);
dfs(x, y - 1, z);
dfs(x, y, z + 1);
dfs(x, y, z - 1);

}

int main() {

cin >> n >> m >> k;
for (int i = 1; i <= n; i++) {
	for (int j = 1; j <= m; j++) {
		for (int l = 1; l <= k; l++) {
			cin >> a[i][j][l];
		}
	}
}
int cnt = 0;
memset(vis, false, sizeof vis);
for (int i = 1; i <= n; i++) {
	for (int j = 1; j <= m; j++) {
		for (int l = 1; l <= k; l++) {
			if (a[i][j][l] == '#' && !vis[i][j][l]){
				dfs(i, j, l);
			cnt++;
			}
				
		}
	}
}
cout << cnt;
return 0;

}


评论:

请先登录,才能进行评论