https://www.acmicpc.net/problem/11727
Dynamic Programming
점화식을 세워 Bottom-up 방식으로 해결할 수 있는 간단한 동적계획법 문제입니다.
if __name__ == "__main__":
n = int(input())
dp = [0] * (n+1)
dp[1] = 1
dp[2] = 3
for i in range(3, n+1):
dp[i] = dp[i-2]*2+dp[i-1]
print(dp[n]%10007)