#백준 #단계별로풀어보기 #파이썬 #Python #15단계 #정수론및조합론 > #1010번: 다리 놓기 import sys from math import factorial T = int(sys.stdin.readline()) for _ in range(T): N,M = map(int, sys.stdin.readline().split()) Max = max(N,M) Min = min(N,M) # Combination 구하기 print(factorial(Max)//(factorial(Min)*factorial(Max-Min))) 문제에 '다리끼리는 서로 겹칠 수 없다'라는 조건이 있습니다. 즉 이럴 때에는 사이트(빨간 점)이 많은 쪽에서 적은 쪽의 개수만큼을 고르는 것이니, combination 연산(조합)을 하면 됩니다.
(만약 '다리끼리 서로 겹칠 수 있다'이면 permutation 연산(순열)을 하면 되겠네요.) 그렇기에 아래와 같은 combination 연산을 하고자, 팩토리얼을...
#
1010번
#
파이썬
#
조합
#
정수론및조합론
#
정수론및조합
#
순열과조합
#
순열
#
백준
#
단계별로풀어보기
#
다리놓기
#
Python
#
permutation
#
factorial
#
combination
#
15단계
#
팩토리얼
원문 링크 : [백준] 1010번: 다리 놓기 (파이썬)