반응형
코드
import sys
import math
n = int(input())
for _ in range(n):
a, b = map(int,sys.stdin.readline().split())
ans = math.factorial(b)//(math.factorial(b-a)*math.factorial(a))
print(ans)
설명
a와 b를 입력받으면 b가 a보다 항상 크거나 같기 때문에 b개 중에 a개를 뽑는 경우의 수를 구하면 된다. 다리끼리 겹치면 안되므로 순서는 바뀔 수 없다.
위 식을 이용해서 경우의 수를 구하면 된다.
팩토리얼 계산은 math 라이브러리에서 제공하는 factorial 함수를 사용했다.
반응형
'알고리즘 > dynamic programming' 카테고리의 다른 글
[백준][Python] 11727번 2×n 타일링 2 (0) | 2022.05.12 |
---|---|
[백준][Python] 11726번 2×n 타일링 (0) | 2022.05.11 |
[백준][Python] 1463번 1로 만들기 (0) | 2022.05.10 |
[백준][Python] 17626번 Four Squares (0) | 2022.05.09 |
[백준][Python] 9655번 돌 게임 (0) | 2022.05.07 |
댓글