티스토리 뷰

PS

백준 2225. 합분해

tose33 2022. 7. 19. 15:26

https://www.acmicpc.net/problem/2225

 

2225번: 합분해

첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다.

www.acmicpc.net

 

 

N과 K가 주어지고, 0~N까지의 숫자중 K개를 택해 N을 만들수 있는 경우의 수를 구해야 한다.

 

이 문제는 처음에 k개의 숫자로 0을 만드는 경우를 생각하지 못해서 어려웠다.

 

d[i][j] : i개의 숫자로 j를 만드는 경우의 수 

 

d[1][0] = 1개의 숫자로 0을 만드는 경우 = {0} 

d[1][1] = 1개의 숫자로 1을 만드는 경우 = {1} 

d[1][2] = 1개의 숫자로 2를 만드는 경우 = {2} 

... 

 

d[2][0] = 2개의 숫자로 0을 만드는 경우 = {0+0} 

d[2][1] = 2개의 숫자로 1을 만드는 경우 = {0+1, 1+1}

d[2][2] = 2개의 숫자로 2를 만드는 경우 = {0+2, 1+1, 2+0} 

...

 

k개의 숫자로 n을 만든다는 것은, k-1개의 숫자로 n을 만드는 경우에서 뒤에 숫자 하나를 더하는 경우 + k-1 개의 숫자로 n을 만드는 경우에서 뒤에 숫자 하나를 더하는 경우 ... 

 

점화식: 

d[i][j] = d[i-1][j-0] + d[i-1][j-1] + ... + d[i-1][j-j]

 

 

 

'PS' 카테고리의 다른 글

백준 5557. 1학년  (0) 2022.07.22
백준 14226. 이모티콘  (0) 2022.07.22
백준 8982. 수족관 1  (0) 2022.07.19
백준 12764. 싸지방에 간 준하  (0) 2022.07.18
백준 17271. 리그 오브 레전설 (Small)  (0) 2022.07.18
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함