Algorithm(BOJ, Python)/Dynamic Programing
[백준_15990] 1, 2, 3 더하기 5 python
kurooru
2022. 6. 18. 00:24
규칙은 쉽게 찾았다.
dp라는것을 아는데 시간이 걸렸을 뿐
import sys
input = sys.stdin.readline
dp = [0] * 100001
for i in range(100001):
dp[i] = [0,0,0]
dp[1] = [1,0,0]
dp[2] = [0,1,0]
dp[3] = [1,1,1]
for i in range(4, 100001):
dp[i][0] = (dp[i-1][1] + dp[i-1][2]) %1000000009
dp[i][1] = (dp[i-2][0] + dp[i-2][2]) %1000000009
dp[i][2] = (dp[i-3][0] + dp[i-3][1]) %1000000009
t = int(input())
for _ in range(t):
n = int(input())
print(sum(dp[n]) % 1000000009)