Skip to content

Commit f2f2a03

Browse files
authored
Merge pull request #1014 from AlgorithmWithGod/zinnnn37
[20251001] BOJ / G4 / 구슬게임 / 김민진
2 parents 9631375 + da8b35f commit f2f2a03

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
```java
2+
package etc;
3+
4+
import java.io.*;
5+
import java.util.StringTokenizer;
6+
7+
public class BJ_2600_구슬게임 {
8+
9+
private static final boolean A = true;
10+
private static final boolean B = false;
11+
12+
private static final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
13+
private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
14+
private static final StringBuilder sb = new StringBuilder();
15+
private static StringTokenizer st;
16+
17+
private static int[] beads;
18+
private static boolean[][] dp;
19+
20+
public static void main(String[] args) throws IOException {
21+
init();
22+
sol();
23+
}
24+
25+
private static void init() throws IOException {
26+
st = new StringTokenizer(br.readLine());
27+
28+
beads = new int[3];
29+
for (int i = 0; i < 3; i++) {
30+
beads[i] = Integer.parseInt(st.nextToken());
31+
}
32+
33+
dp = new boolean[501][501];
34+
}
35+
36+
private static void sol() throws IOException {
37+
for (int i = 0; i < 501; i++) {
38+
for (int j = 0; j < 501; j++) {
39+
if (i == 0 && j == 0) {
40+
dp[i][j] = B;
41+
continue;
42+
}
43+
44+
boolean whoWins = B;
45+
46+
// 첫 번째 구슬
47+
for (int bead : beads) {
48+
if (i >= bead && !dp[i - bead][j]) {
49+
whoWins = A;
50+
break;
51+
}
52+
}
53+
54+
// 두 번째 구슬
55+
for (int bead : beads) {
56+
if (j >= bead && !dp[i][j - bead]) {
57+
whoWins = A;
58+
break;
59+
}
60+
}
61+
62+
dp[i][j] = whoWins;
63+
}
64+
}
65+
for (int i = 0; i < 5; i++) {
66+
st = new StringTokenizer(br.readLine());
67+
68+
int a = Integer.parseInt(st.nextToken());
69+
int b = Integer.parseInt(st.nextToken());
70+
71+
sb.append(dp[a][b] ? "A\n" : "B\n");
72+
}
73+
bw.write(sb.toString());
74+
bw.flush();
75+
bw.close();
76+
br.close();
77+
}
78+
79+
}
80+
```

0 commit comments

Comments
 (0)