합분해[백준 2225] - python
기본적인 다이나믹 프로그래밍이다. 배열을 그리고 초반 몇개를 직접 시도해보면 규칙이 보일거다 정답 코드 먼저 보자 n, k = map(int, input().split()) dp = [[0] * (k+1) for _ in range(n+1)] dp[0][0] = 1 for i in range(0, n+1) : for j in range(1, k+1) : dp[i][j] = dp[i-1][j] + dp[i][j-1] print(dp[n][k] % 1000000000) k = 1 인경우 모든 숫자는 1이다. k = 2 인경우 모든 숫자는 (n+1)을 가진다. n=2: (0,2)(1,1)(2,0) n=3: (0,3)(1,2)(2,1)(3,0) n=4: (0,4)(1,3)(2,2)(3,1)(4,0) k= 3 인..
2021. 11. 30.