반응형
//3xn을 채우는데 1x2,2x1 타일로 총 세가지로 채울 수 있다.
//가짓 수 : D[n] - > n이 짝수여야지만 주어진 타일로 채울 수 있다.
//D[i] = 3*D[i-2]+2*D[i-4]+2*D[i-6]....+2*D[i-2*j]
//D[i] = 3*D[i-2]+2*sum[i-4]라고 나타낼 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <iostream> using namespace std; int n,d[31]; int main() { cin >> n; d[0] = 1; for (int i = 2; i <= n; i+=2) { d[i] = 3 * d[i - 2]; for (int j = 0; j <= i - 4; j += 2) d[i] += 2 * d[j]; } cout << d[n] << '\n'; } | cs |
'Algorithm' 카테고리의 다른 글
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 1325번:효율적인 해킹(BFS) 답 (0) | 2017.03.09 |
---|---|
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 1786번:찾기 답 (1) | 2017.03.09 |
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 1547번:공 답 (0) | 2017.03.08 |
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 5522번:카드 게임 답 (0) | 2017.03.08 |
C++(씨쁠쁠)(cplusplus)-백준(baekjoon)(BaekJoon)코딩 1475번:방번호 답 (0) | 2017.03.08 |