728x90
λ¬Έμ
νμ΄
1. λͺ¨λ μ μ(n)λ 1λ§ μ¨μ ꡬν μ μλ€.
n | κ²½μ°μ μ |
0 | μμ |
1 | 1 |
2 | 1 + 1 |
3 | 1 + 1 + 1 |
4 | 1 + 1 + 1 + 1 |
5 | 1 + 1 + 1 + 1 + 1 |
1μ ν©μΌλ‘ μ μ nμ λνλ΄λ λ°©λ²μ 1κ°μ§ μ΄λ―λ‘ dpλ₯Ό μ λΆ 1λ‘ μ΄κΈ°ννλ€.
dp = [1] * 10001
2. 1, 2μ ν©μΌλ‘ μ μ nμ λνλ΄λ λ°©λ²μ (n - 2)λ₯Ό 1μ ν©λ§μΌλ‘ λνλΈ λ°©λ²μ 2λ₯Ό λν΄μ£Όλ©΄ λλ€.
n | κ²½μ°μ μ |
0 | (μμ) |
1 | 1 |
2 | 1 + 1, (μμ) + 2 |
3 | 1 + 1 + 1, 1 + 2 |
4 | 1 + 1 + 1 + 1, 1 + 1 + 2 |
5 | 1 + 1 + 1 +1 + 1, 1 + 1 + 1 + 2 |
3. 1, 2, 3μ ν©μΌλ‘ μ μ nμ λνλ΄λ λ°©λ²μ (n - 3)μ 1, 2μ ν©μΌλ‘ λνλΈ λ°©λ²μ 3μ λν΄μ£Όλ©΄ λλ€.
ν μλ΅
μ½λ
dp = [1] * 10001
for i in range(2, 10001):
dp[i] += dp[i - 2]
for i in range(3, 10001):
dp[i] += dp[i - 3]
t = int(input())
for _ in range(t):
n = int(input())
print(dp[n])
λ§λ¬΄λ¦¬
μΈμ μ―€ dpκ° λ§λ§ν΄μ§κΉ...
κ·Έλ° λ μ΄ μ¬κΉ?
728x90