본문 바로가기
Algorithm

[BAEKJOON] 13977번: 이항 계수와 쿼리

by Y06 2021. 11. 3.

13977번 문제이다.

사진을 누르면 문제로 이동한다.

문제는 Python언어로 구현하였다.

input = __import__('sys').stdin.readline
MOD = int(1e9 + 7)
N = 4 * int(1e6) + 1
factorial = [1] * N
for i in range(1, N):
    factorial[i] = (factorial[i-1] * i) % MOD
 
for _ in range(int(input())):
    n, k = map(int, input().split())
 
    A = factorial[n]
    B = (factorial[k] * factorial[n - k]) % MOD
 
    B2 = 1
    expo = MOD - 2
    while expo:
        if expo % 2: B2 = (B * B2) % MOD
        B = (B * B) % MOD
        expo //= 2
 
    res = (A * B2) % MOD
    print(res)

'Algorithm' 카테고리의 다른 글

[BAEKJOON] 10451번: 순열 사이클  (0) 2021.11.08
[BAEKJOON] 2667번: 단지번호붙이기  (0) 2021.11.08
[BAEKJOON] 11401번: 이항 계수 3  (0) 2021.11.03
[BAEKJOON] 2178번: 미로탐색  (0) 2021.10.26
[BAEKJOON] 1260번: DFS와 BFS  (0) 2021.10.26