문제
https://www.acmicpc.net/problem/15989
15989번: 1, 2, 3 더하기 4
정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 4가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 합을 이루고 있는 수의 순서만 다른 것은 같은 것으로 친다. 1+1+1+1 2+1+1 (1+1+2, 1+2+1) 2+2
www.acmicpc.net
코드
import sys
input = sys.stdin.readline
#1만 사용하여 나타내는 경우는 한가지 이므로 1로 초기화
dp=[1]*10001
#2가 추가되는 경우
for i in range(2,10001):
dp[i]+=dp[i-2]
#3이 추가되는 경우
for i in range(3,10001):
dp[i]+=dp[i-3]
t=int(input())
array=list(int(input()) for _ in range(t))
for i in array:
print(dp[i])
'문제풀이 > DP' 카테고리의 다른 글
[파이썬] [DP] 백준 11052 카드 구매하기 (0) | 2023.04.05 |
---|---|
[파이썬] [DP] 백준 1446 지름길 (0) | 2023.02.28 |
[파이썬] [DP] 백준 23083 꿀벌 승연이 (0) | 2023.02.06 |
[파이썬] [DP] 백준 27210 신을 모시는 사당 (0) | 2023.01.14 |
[파이썬] [DP] 백준 11049 행렬 곱셈 순서 (0) | 2022.12.21 |