Skip to content

Commit 2df86d2

Browse files
authored
Merge pull request #132 from AlgorithmWithGod/Seol-JY
[20250217] BOJ / 골드3 / 봄버맨2 / 설진영
2 parents 9e20c0c + b05bbb8 commit 2df86d2

File tree

1 file changed

+104
-0
lines changed

1 file changed

+104
-0
lines changed
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
```java
2+
import java.io.*;
3+
import java.util.StringTokenizer;
4+
5+
public class Main {
6+
static int R, C, N;
7+
static int[][] map;
8+
9+
public static void main(String[] args)throws IOException{
10+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
11+
StringTokenizer st = new StringTokenizer(br.readLine());
12+
R = Integer.parseInt(st.nextToken());
13+
C = Integer.parseInt(st.nextToken());
14+
N = Integer.parseInt(st.nextToken());
15+
16+
map = new int[R+2][C+2];
17+
for (int i = 1; i <= R; i++) {
18+
String userInput = br.readLine();
19+
for (int j = 1; j <= C; j++) {
20+
char ipt = userInput.charAt(j -1);
21+
if (ipt == '.') map[i][j] = 0;
22+
else map[i][j] = 1;
23+
}
24+
}
25+
26+
if (N % 2 == 0) {
27+
for (int i = 1; i <= R; i++) {
28+
for (int j = 1; j <= C; j++) {
29+
System.out.print("O");
30+
}
31+
System.out.println();
32+
}
33+
return;
34+
}
35+
36+
if (N == 1) {
37+
for (int i = 1; i <= R; i++) {
38+
for (int j = 1; j <= C; j++) {
39+
if (map[i][j] == 1)System.out.print("O");
40+
else System.out.print(".");
41+
}
42+
System.out.println();
43+
}
44+
return;
45+
}
46+
47+
int[][] newMap = new int[R+2][C+2];
48+
for (int i = 1; i <= R; i++) {
49+
for (int j = 1; j <= C; j++) {
50+
newMap[i][j] = 1;
51+
}
52+
}
53+
for (int i = 1; i <= R; i++) {
54+
for (int j = 1; j <= C; j++) {
55+
if (map[i][j] == 1) {
56+
newMap[i][j] = 0;
57+
58+
newMap[i-1][j] = 0;
59+
newMap[i+1][j] = 0;
60+
newMap[i][j-1] = 0;
61+
newMap[i][j+1] = 0;
62+
}
63+
}
64+
}
65+
66+
if ((N+1)%4 == 0) {
67+
for (int i = 1; i <= R; i++) {
68+
for (int j = 1; j <= C; j++) {
69+
if (newMap[i][j] == 1)System.out.print("O");
70+
else System.out.print(".");
71+
}
72+
System.out.println();
73+
}
74+
return;
75+
}
76+
77+
for (int i = 1; i <= R; i++) {
78+
for (int j = 1; j <= C; j++) {
79+
map[i][j] = newMap[i][j];
80+
newMap[i][j] = 1;
81+
}
82+
}
83+
for (int i = 1; i <= R; i++) {
84+
for (int j = 1; j <= C; j++) {
85+
if (map[i][j] == 1) {
86+
newMap[i][j] = 0;
87+
88+
newMap[i-1][j] = 0;
89+
newMap[i+1][j] = 0;
90+
newMap[i][j-1] = 0;
91+
newMap[i][j+1] = 0;
92+
}
93+
}
94+
}
95+
for (int i = 1; i <= R; i++) {
96+
for (int j = 1; j <= C; j++) {
97+
if (newMap[i][j] == 1)System.out.print("O");
98+
else System.out.print(".");
99+
}
100+
System.out.println();
101+
}
102+
}
103+
}
104+
```

0 commit comments

Comments
 (0)