본문 바로가기

알고리즘/백준 알고리즘 풀이

[Silver 5] 1010번 다리 놓기

백준 1010번 주유소 문제 풀이 코드입니다~

#include <stdio.h>

int main()
{
    int cnt = 0;

    scanf("%d", &cnt);
    for (int i = 0; i < cnt; i++)
    {
        int n = 0, r = 0;
        unsigned long long n_fac = 1;

        scanf("%d %d", &r, &n);

        if (r < n - r)
        {
            long long r_fac = 1;
            for (int i = n; i > 0; i--)
            {

                if (i > n - r)
                    n_fac *= i;
                if (i < r + 1)
                    r_fac *= i;
            }
            printf("%d\n", n_fac / r_fac);
        }
        else
        {
            long long n_r_fac = 1;
            for (int i = n; i > 0; i--)
            {

                if (i > r)
                    n_fac *= i;
                if (i < n - r + 1)
                    n_r_fac *= i;
            }
            printf("%d\n", n_fac / n_r_fac);
        }
    }
}

궁금한건 댓글 남겨주세요~

'알고리즘 > 백준 알고리즘 풀이' 카테고리의 다른 글

[Bronze 2] 2920번 음계  (3) 2021.09.15
[Bronze 1] 1157번 단어 공부  (2) 2021.09.15
[Silver 5] 4673번 셀프 넘버  (0) 2021.09.15
[Silver 4] 13305번 주유소  (0) 2021.09.15
[Silver 4] 1002번 터렛  (0) 2021.09.15