조합의 개수
면접 대비시간 제한2초메모리 제한512 MB
최대 1000개의 (n, k) 쌍이 주어질 때 각 쌍에 대해 이항계수 C(n, k)를 10^9+7로 나눈 나머지를 구한다.
문제
원소가 개인 집합에서 개를 고른 것을 -조합이라고 한다.
예를 들어 1부터 5까지의 수로 이루어진 집합에서는 다음과 같은 조합이 나온다.
- 1-조합(한 번에 1개를 고름): (1), (2), (3), (4), (5)
- 2-조합(한 번에 2개를 고름): (1, 2), (1, 3), (1, 4), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 5), (4, 5)
- 3-조합(한 번에 3개를 고름): (1, 2, 3), (1, 2, 4), (1, 2, 5), (1, 3, 4), (1, 3, 5), (1, 4, 5), (2, 3, 4), (2, 3, 5), (2, 4, 5), (3, 4, 5)
- 4-조합(한 번에 4개를 고름): (1, 2, 3, 4), (1, 2, 3, 5), (1, 2, 4, 5), (1, 3, 4, 5), (2, 3, 4, 5)
- 5-조합(모든 원소를 한 번에 고름): (1, 2, 3, 4, 5)
- 0-조합(아무 원소도 고르지 않음): ()
원소가 개인 집합의 -조합의 개수는 다음 식으로 구한다.
위 목록에서 보듯이 , , , , , 이다.
여러 개의 쌍이 주어질 때 각각에 대해 를 계산하라.
입력
첫째 줄에 정수 가 주어진다. 이어지는 개의 줄에는 공백으로 구분된 두 정수 과 가 주어진다.
출력
각 쌍에 대해 원소가 개인 집합의 -조합의 개수를 ()로 나눈 나머지를 한 줄에 하나씩, 입력에 주어진 순서대로 출력한다.