백준(코테준비)/DP
백준 2133 / c++
급하게
2024. 8. 15. 03:06
https://www.acmicpc.net/problem/2133
이 문제의 경우 처음에 이해하기 좀 어려웠었다
이 문제의경우 일단 이경우를 생각 해주어야 한다 길이 2짜리공간에 타일을 넣어서 채울 수 있는 경우의 수는 3이다 4짜리 타일을 채우는 경우의 수는 2가 더있다
#include <iostream>
using namespace std;
int main()
{
int n;
cin >> n;
int dp[31] = { 0 };
dp[0] = 1;
dp[2] = 3;
for (int i = 4; i <= n; i++)
{
dp[i] = dp[i - 2] * 3;
for (int j = 4; j <= i; j += 2)
{
dp[i] += dp[i - j] * 2;
}
}
cout << dp[n];
return 0;
}