diff --git a/problem/P1162/P1162.cpp b/problem/P1162/P1162.cpp new file mode 100644 index 00000000..c9c4ee80 --- /dev/null +++ b/problem/P1162/P1162.cpp @@ -0,0 +1,48 @@ +#include + +using namespace std; + +int n, a[32][32], b[32][32]; +int dx[] = {0, -1, 1, 0, 0}; +int dy[] = {0, 0, 0, -1, 1}; + +void dfs(int x, int y) { + if (x < 0 || x > n + 1 || y < 0 || y > n + 1 || b[x][y] != 0) { + return; + } + b[x][y] = 2; + for (int i = 1; i <= 4; i++) { + dfs(x + dx[i], y + dy[i]); + } +} + +int main() { + cin >> n; + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= n; j++) { + cin >> a[i][j]; + if (a[i][j] == 0) { + b[i][j] = 0; + } + else { + b[i][j] = 1; + } + } + } + dfs(0, 0); + for (int i = 1; i <= n; i++) { + for (int j = 1; j <= n; j++) { + if (b[i][j] == 2) { + cout << "0 "; + } + else if (b[i][j] == 0) { + cout << "2 "; + } + else { + cout << "1 "; + } + } + cout << endl; + } + return 0; +}