PS/Baekjoon Online Judge

[백준 15791] 세진이의 미팅 [C]

kimyoungrok 2021. 8. 28. 04:33

백준 - 15791


풀이

"백준 11401, 이항 계수 3"보다 N의 범위가 작은 문제이다.


소스코드

#include <stdio.h>
const int MOD = 1e9+7;
int main(){
    long long N, K, A = 1, B = 1;
    scanf("%d %d", &N, &K);
    for (int i = N; i > N-K; i--)
        A = A*i %MOD;
    for (int i = K; i >= 2; i--)
        B = B*i %MOD;
	
    N = 1, K = MOD-2;
    while (K){
        if (K & 1) N = N*B %MOD;
        K >>= 1;
        B = B*B %MOD;
    }
    printf("%d", A*N %MOD);
}

출처 및 참고자료

 

15791번: 세진이의 미팅

모태 솔로인 세진이는 이번에는 꼭 여자친구를 사귀어야겠다는 마음으로 형진이가 주최한 미팅에 참석하게 된다. 하지만 안타깝게도 컴퓨터공학과는 남초학과이기 때문에 항상 남자의 수가 여

www.acmicpc.net

 

[백준 11401] 이항 계수 3 [C]

풀이 A = N! - (N-K)!와 B = K!를 MOD로 나누며 구하고, 페르마의 소정리를 이용해 ( A* B^(MOD-2) )%MOD를 구하면 된다. 소스코드 #include const int MOD = 1e9+7; int main(){ long long N, K, A = 1, B = 1;..

kyr-db.tistory.com