슬슬 dp에 대해 이해가 되기 시작했다.
여기서는 2*2가 n-2에서 부분에 대한 케이스가 한가지 더 생긴거기 때문에 그러니까 2칸 뻇는 케이스가 하나 더 생긴거니까
(n-2)*2 해주면 된다.
조금씩 이해되기 시작해서 좋은 것 같다.
#include <vector>
#include <iostream>
int main() {
int n;
std::cin >> n;
std::vector<int>arr(n+1);
arr[0] = 1;
arr[1] = 1;
for (int i = 2; i <= n; i++) {
arr[i] = (arr[i-1] + arr[i-2]*2) % 10007;
}
std::cout << arr[n] % 10007;
}'코딩 > cpp' 카테고리의 다른 글
| [백준] 1012번 (0) | 2025.09.27 |
|---|---|
| [백준] 17626번 (0) | 2025.09.27 |
| [백준]11726번 (0) | 2025.09.27 |
| [백준] 11659번 (0) | 2025.09.27 |
| [백준] 9461번 (0) | 2025.09.26 |