왼쪽에 n개의 사이트가 있고 m개의 사이트가 있다고 가정해봤을때
n의 입장에선 m개를 선택할수 있고,
n+1 입장에선 m-1개를 선택할수 있다.
(m-1 개를 선택하는 이유는 m개를 선택하면 처음 선택한 사이트랑 중복이 일어날수 있기 때문)
따라서 n에서 m개를 선택하는 조합 문제이다.
파이썬에 조합 모듈이 있어 해당 모듈을 사용해 풀려고 시도를 했다.
from itertools import combinations
하지만 이 모듈의 인자는 배열이 들어와야 해서 실패했고 내가 직접 조합을 구현했다.
t = int(input())
for _ in range(t):
n,m = map(int, input().split())
r = int(1)
a= int(1)
for i in range(n,0,-1):
r = r * i
for j in range(n):
a = a * m
m -= 1
print(a//r)
나중에 생각해보니 직접 구현을 안 하고 math에서 지원하는 펙토리얼 함수를 사용했으면 더 쉽고 간결하게 짤 수 있을거 같다.