반응형
2407번: 조합
n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n)
www.acmicpc.net
풀이
- nCm을 출력하는 조합 문제이다.
- 파스칼의 삼각형을 이용한 DP 알고리즘을 사용해 해결하였다.
- dp[n][m] ( nCm ) = dp[n-1][m-1] + dp[n-1][m] 으로 점화식을 두고 전체 dp를 구한 후 원하는 답을 출력하였다.
import sys
n , m = map(int, sys.stdin.readline().split(" "))
dp = [[0 for i in range(101)] for j in range(101)]
for i in range(1,101):
dp[i][0] = 1
dp[i][i] = 1
for i in range(2,101):
for t in range(1,i):
dp[i][t] = dp[i-1][t-1] + dp[i-1][t]
print(dp[n][m])
반응형
'코딩 > 백준' 카테고리의 다른 글
알고리즘 - Python / 백준 - 15663번 : N과 M (9) (0) | 2021.09.20 |
---|---|
알고리즘 - Python / 백준 - 9465번 : 스티커 (0) | 2021.09.20 |
알고리즘 - Python / 백준 - 15654번 : N과 M (5) (0) | 2021.09.20 |
알고리즘 - Python / 백준 - 15652번 : N과 M (4) (0) | 2021.09.20 |
알고리즘 - Python / 백준 - 15650번 : N과 M (2) (0) | 2021.09.20 |