-
DP_백준_2*n타일링_11726Algorithm 2018. 8. 15. 19:53
1. dp[n] : 2*n 크기의 직사각형을 채우는 방법의 수
2. dp[n] = dp[n-1] + dp[n-2]
3. 초기화 : dp[0] = 1, dp[1] =1;
핵심 : 끝을 기준 즉 N번째 타일이 들어올 때 어떻게 변하는지를 알아야 한다.
123456789101112131415161718192021#include <iostream>using namespace std;int d[1005];int dp(int num) {if (d[num] > 0) {return d[num];}d[num] = (dp(num - 1) + dp(num - 2)) % 10007;return d[num];}int main() {d[0] = 1;d[1] = 1;int n;cin >> n;cout << dp(n) << endl;return 0;}cs 'Algorithm' 카테고리의 다른 글
DP_백준_1,2,3 더하기_9095 (0) 2018.08.15 DP_백준_2*n타일링2_11727 (0) 2018.08.15 DP_백준_1로 만들기_1463 (0) 2018.08.15 DP_백준_이론 (0) 2018.08.15 문자열_백준 (0) 2018.08.15