조합 공식을 이용해서 풀 수 있는 문제였다.
고등학교때 이후로 머리속에서 꺼내보지 않았던 개념이라 인터넷으로 다시 조합공식을 찾아보기도 했다....하핳
펙토리얼(fac)함수를 정의하고 정의한 함수를 이용해서 조합 공식을 만들어서 풀었다.
# 1010번 : 다리놓기
# 조합(Combination)공식을 이용해서 쉽게 풀 수 있다.
t = int(input())
def fac(n):
num = 1
for i in range(1,n+1):
num *= i
return num
for _ in range(t):
m,n = map(int,input().split())
bridge = fac(n) // (fac(m)*fac(n-m))
print(bridge)
728x90
'알고리즘 문제풀이 > Dynamic programming' 카테고리의 다른 글
(파이썬 python) 백준 9465번 : 스티커 (0) | 2022.10.26 |
---|---|
(파이썬 python) 백준 9251번 : LCS (0) | 2022.10.21 |
(파이썬 python) 백준 2193번 : 이친수 (0) | 2022.10.05 |
(파이썬 python) 백준 2774번 : 부녀회장이 될테야(DP) (0) | 2022.09.30 |
백준 2748 파이썬(DP) (0) | 2022.02.10 |