dp를 구현함에 있어서 무지성 세보기는 참 좋은 방법인 것 같다.
다만, 내가 구하는 칸이 어디서로부터 오는지 그 근본을 잘 확인해야 한다.

dp = [
[0] * 101 for _ in range(10001)
]
for i in range(1, 10001):
dp[i][1] = (2 ** i)
for i in range(1, 10001):
for j in range(1, 101):
if i == j:
dp[i][j] = 2
elif i < j:
dp[i][j] = 1
for i in range(3, 10001):
for j in range(2, 101):
if i > j:
dp[i][j] = (dp[i-j][j] + dp[i-1][j])
n, m = map(int, input().split())
print(dp[n][m] % 1000000007)
'Algorithm(BOJ, Python) > Dynamic Programing' 카테고리의 다른 글
| [백준_11052] 카드 구매하기 python (0) | 2022.06.25 |
|---|---|
| [백준_2502] 떡 먹는 호랑이 python (0) | 2022.06.23 |
| [백준_2225] 합분해 python (0) | 2022.06.21 |
| [백준_10844] 쉬운 계단 수 python (0) | 2022.06.20 |
| [백준_15990] 1, 2, 3 더하기 5 python (0) | 2022.06.18 |