Skip to content

Commit df8d85b

Browse files
authored
[20251104] BOJ / G5 / 축구 / 김수연
[20251104] BOJ / G5 / 축구 / 김수연
2 parents 272fc2f + 38cff75 commit df8d85b

File tree

1 file changed

+64
-0
lines changed

1 file changed

+64
-0
lines changed
Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
```java
2+
import java.io.BufferedReader;
3+
import java.io.IOException;
4+
import java.io.InputStreamReader;
5+
6+
public class Main {
7+
public static void main(String[] args) throws IOException {
8+
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
9+
10+
double A = Double.parseDouble(br.readLine()) / 100;
11+
double B = Double.parseDouble(br.readLine()) / 100;
12+
13+
double[][][] dp = new double[19][19][19];
14+
15+
dp[0][0][0] = 1.0;
16+
17+
for (int i = 1; i < 19; i++) {
18+
for (int j = 0; j <= i; j++) {
19+
for (int k = 0; k <= i; k++) {
20+
if (j > 0) { // A팀
21+
dp[i][j][k] += dp[i - 1][j - 1][k] * A * (1 - B);
22+
}
23+
if (k > 0) { // B팀
24+
dp[i][j][k] += dp[i - 1][j][k - 1] * (1 - A) * (B);
25+
}
26+
27+
if (j > 0 && k > 0) { // A팀, B팀
28+
dp[i][j][k] += dp[i - 1][j - 1][k - 1] * A * B;
29+
}
30+
31+
// 둘 다 넣지 않을 경우
32+
dp[i][j][k] += dp[i - 1][j][k] * (1 - A) * (1 - B);
33+
}
34+
}
35+
}
36+
37+
double answer = 0;
38+
39+
for (int i = 0; i < 19; i++) {
40+
for (int j = 0; j < 19; j++) {
41+
if (isPrime(i) || isPrime(j)) {
42+
answer += dp[18][i][j];
43+
}
44+
}
45+
}
46+
47+
System.out.printf("%.16f", answer);
48+
}
49+
50+
static boolean isPrime(int num) {
51+
if (num < 2) {
52+
return false;
53+
}
54+
55+
for (int i = 2; i * i <= num; i++) {
56+
if (num % i == 0) {
57+
return false;
58+
}
59+
}
60+
61+
return true;
62+
}
63+
}
64+
```

0 commit comments

Comments
 (0)