Skip to content

Commit 8d9724e

Browse files
authored
[20250226] BOJ / 골드3 / 색상환/ 신동윤
1 parent f070150 commit 8d9724e

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
```java
2+
import java.util.*;
3+
4+
public class Main {
5+
final static int MOD = 1_000_000_003;
6+
public static void main(String[] args) {
7+
Scanner sc = new Scanner(System.in);
8+
9+
int N = sc.nextInt();
10+
int K = sc.nextInt();
11+
12+
// dp[i][j] = i번째 색상까지 고려하여 j개를 뽑는 경우의 수
13+
int[][] dp = new int[N+1][K+1];
14+
for (int i = 1; i < N+1; i++) {
15+
dp[i][0] = 1;
16+
dp[i][1] = i;
17+
}
18+
for (int i = 3; i < N; i++) {
19+
for (int j = 2; j < K+1; j++) {
20+
dp[i][j] = (dp[i-1][j] + dp[i-2][j-1]) % MOD;
21+
}
22+
}
23+
// 마지막 색상 처리
24+
// dp[N - 2- 1][K-1] = 1번 색상을 제외하고 N-2 색상까지 K-1개의 색을 겹치지 않게 칠하는 경우
25+
dp[N][K] = (dp[N - 2 - 1][K-1] + dp[N-1][K]) % MOD;
26+
27+
int answer = dp[N][K];
28+
System.out.println(answer);
29+
30+
sc.close();
31+
}
32+
}
33+
```

0 commit comments

Comments
 (0)