import sys
input = sys.stdin.readline
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])
'문제풀이 > 백준(Boj) 문제풀이' 카테고리의 다른 글
[백준][스택] 10828. 스택 (파이썬/Python) (0) | 2021.10.22 |
---|---|
[백준][DFS/BFS] 2178. 미로 탐색 (파이썬/Python) (0) | 2021.10.12 |
[백준][동적 계획법1] 9507. Generations of Tribbles (파이썬/Python) (0) | 2021.10.12 |
[백준][정수론 및 조합론] 3036. 링 (파이썬/Python) (0) | 2021.10.07 |
[백준][동적 계획법1] 12865. 평범한 배낭 (파이썬/Python) (0) | 2021.10.06 |