알고리즘 문제/BOJ
2482번 색상환
parkit
2020. 3. 21. 09:31
728x90
반응형
https://www.acmicpc.net/problem/2482
다이나믹 동적 계획 cp cache 캐시 boj 백준 복습 필수 코테 추천 논리 Tip
다시 한 번 풀어 볼만한 문제인 것 같다.
그런데 처음 제출할 때 틀릴 줄 알았는데 맞았다.
n번 째 색과 1번 째 색이 색칠되어지는 경우를 고려하지 않은 것 같은데 정답이었다.
이유는 나중에 다시 알아봐야겠다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | #include<bits/stdc++.h> using namespace std; #define Max 1004 #define Mod 1000000003 int n, k, cache[Max][Max]; int main() { //freopen("C:\\Users\\park7\\Desktop\\buba.in.6", "r", stdin); cin.tie(0); scanf("%d %d", &n, &k); if ((n + 1) / 2 < k) { printf("0\n"); return 0; } for (int i = 1; i <= n; i++) { cache[i][1] = i; } for (int i = 4; i <= n; i++) { for (int j = 2; j <= k; j++) { // j가 1일 때는 이미 위에서 정의 cache[i][j] = cache[i - 2][j - 1] % Mod + cache[i - 1][j] % Mod; cache[i][j] %= Mod; } } printf("%d\n", cache[n][k]); return 0; } | cs |
728x90
반응형