반응형

https://www.acmicpc.net/problem/2133

 

2133번: 타일 채우기

3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자.

www.acmicpc.net

 

 

[ 문제풀이 ]

 

1. 점화식을 다음과 같이 세웁니다.

  arr [ i - 2 ]*4 - arr [ i - 4 ]

 

2. arr [ N ]을 출력합니다.

 

[ 소스코드 ]

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include<iostream>
 
using namespace std;
 
int N;
int dp[31];
 
int main()
{
    dp[0= 1;
    dp[2= 3;
 
    scanf("%d"&N);
 
    for (int i = 4; i <= N; i+=2) {
        dp[i] = dp[i - 2* 4 - dp[i - 4];
    }
 
    printf("%d", dp[N]);
}
cs
반응형

+ Recent posts