728x90
반응형
기본적인 다이나믹 프로그래밍 문제이다.
n = int(input())
dp = [0]*(36)
dp[0] = 1
dp[1] = 1
dp[2] = 2
for i in range(3, n+1):
t = 0
if i%2:
for j in range(i//2):
t += 2*dp[j]*dp[i-j-1]
dp[i] = t + dp[i//2]**2
else:
for j in range(i//2):
t += 2*dp[j]*dp[i-j-1]
dp[i] = t
print(dp[n])
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 2193번 이친수(python) (0) | 2021.03.19 |
---|---|
백준 알고리즘 14606번 피자 (Small)(python) (0) | 2021.03.19 |
백준 알고리즘 9844번 Gecko(python) (0) | 2021.03.19 |
백준 알고리즘 9656번 돌 게임 2(python) (0) | 2021.03.19 |
백준 알고리즘 8394번 악수(python) (0) | 2021.03.19 |