문제를 보고 자신감이 떨어져 다른 분이 작성한 답을 참고했다....
https://jaimemin.tistory.com/330
#include <iostream>
int main(void) {
std::ios_base::sync_with_stdio(false);
std::cin.tie(NULL);
int len;
std::cin >> len;
int dp[31] = { 0 };
dp[0] = 1;
dp[2] = 3;
for (int i = 4; i <= len; i+=2) {
dp[i] = dp[i - 2] * 3;
for (int j = 4; i - j >= 0 ; j+=2) {
dp[i] += dp[i - j] * 2;
}
}
std::cout << dp[len] << "\n";
return 0;
}
|
cs |
'problem solving' 카테고리의 다른 글
[프로그래머스]멀쩡한 사각형 (0) | 2020.03.05 |
---|---|
2186번: 문자판 (0) | 2020.03.05 |
2011번: 암호코드 (0) | 2020.03.05 |
[하노이 탑]재귀 (0) | 2020.03.05 |
10844번: 쉬운 계단 수 (0) | 2020.03.05 |