반응형
https://www.acmicpc.net/problem/2225
코드 작성
n, k = map(int, input().split())
dp = [[0]*201 for _ in range(201)]
for i in range(201):
dp[1][i] = 1
for i in range(2, 201):
dp[i][1] = i
for j in range(2, 201):
dp[i][j] = dp[i-1][j] + dp[i][j-1]
print(dp[k][n] % 1000000000)
코드 풀이
#1 초기값
k = 1일 때, 즉 1자리수 일 때
N은 그 자신의 수만 될 수 있으므로 1이 된다.
또한, N이 1일때 k = 경우의 수가 된다.
가령 k가 4 n이 1일경우
(0,0,0,1), (0,0,1,0), (0,1,0,0), (1,0,0,0)
#2 점화식
dp[k][n] = dp[k-1][j] + dp[k][j-1]
반응형
'코딩 > Python' 카테고리의 다른 글
[Python] 백준 11055 가장 큰 증가 부분 수열 (0) | 2022.12.17 |
---|---|
[Python] 백준 2309 일곱 난쟁이 (0) | 2022.12.17 |
[Python] 백준 1476 날짜 계산 (0) | 2022.12.15 |
[Python] 백준 14002 가장 긴 증가하는 부분 수열4 (0) | 2022.12.15 |
[Python] 백준 2156 포도주 시식 (0) | 2022.12.14 |