2 = 1+1
3 = 1+2
4 = 2+2
...
이런식으로 증가한다. 이 값은 문제에서 주어진 삼각형들의 값이다. 이를 통해
(n>3) An = An-3 + An-2 로 정의할 수 있다. 재귀로 풀 것이기 때문에 시간복잡도가 뭉개지는 것을 대비해서 DP배열을 만들고 한번 계산한 값은 바로 꺼내서 쓸 수 있도록 하자!
dp = [0] * 101
dp[1], dp[2], dp[3] = 1, 1, 1
def sol(x):
if dp[x] != 0:
return dp[x]
else:
dp[x] = sol(x - 3) + sol(x - 2)
return dp[x]
t = int(input())
for i in range(t):
n = int(input())
print(sol(n))