#15990

737 단어 pythonDPbojDP

#15990

문제

풀이

T=int(input())
limit=100000
division=1000000009
dp=[[0] *4 for _ in range(limit+1)]
ans=[]

dp[1]=[0,1,0,0]
dp[2]=[0,0,1,0]
dp[3]=[0,1,1,1]

for i in range(4,limit+1):
    dp[i][1]=(dp[i-1][2]+dp[i-1][3])%division
    dp[i][2]=(dp[i-2][1]+dp[i-2][3])%division
    dp[i][3]=(dp[i-3][1]+dp[i-3][2])%division

    
for i in range(T):
    N=int(input())
    ans.append(sum(dp[N])%division)

for x in ans:
    print(x)

1,2,3열을 각각 1,2,3을 더하는 값이라고 하고 i행 1열의 경우 i-1행 2열과 3열을 더한 값으로 넣어준다. 2,3열도 마찬가지로 적용한다.

좋은 웹페이지 즐겨찾기