t = int(input())
def dp(n):
dplog1 = [0, 1]
dplog0 = [1, 0]
if n > 1:
for i in range(n-1):
dplog1.append(dplog1[-1]+dplog1[-2])
dplog0.append(dplog0[-1]+dplog0[-2])
return dplog0[n], dplog1[n]
for _ in range(t):
n = int(input())
print(dp(n)[0], dp(n)[1])
문제 자체는 쉬웠지만 은근히 해결방법을 고민하게 만들었다.
dp 실행시마다 dplog를 초기화하고 dp에 append하는 방식으로 설계했다.