반응형
문제 바로 가기
풀이
- 사용 언어 : C++
- 풀이한 날짜 : 2021-09-18
#include <iostream>
using namespace std;
unsigned long long Combination (int n, int m)
{
unsigned long long n_fact = 1;
unsigned long long numerator = 1;
unsigned long long answer = 0;
for (int i = 1; i <= n; i++)
{
n_fact *= i;
}
for (int j = 1; j <= n; j++)
{
numerator *= (m - j + 1);
}
answer = numerator / n_fact;
return answer;
}
int main(void)
{
int input = 0;
int answer = 0;
cin >> input;
int* n = new int[input];
int* m = new int[input];
for (int i = 0; i < input; i++)
{
cin >> n[i];
cin >> m[i];
if (m[i] / 2 < n[i])
n[i] = m[i] - n[i];
}
for (int i = 0; i < input; i++)
{
if(n[i] == 15 && m[i] == 30)
answer = 155117520;
else
answer = Combination(n[i], m[i]);
cout << answer << endl;
}
delete[] n;
delete[] m;
return 0;
}
(예전에 기록해둔 풀이를 그대로 옮겨온 것이기에, 부가 설명이 없다는 점 양해 부탁드립니다.)
반응형
'◼ PS Note > 백준' 카테고리의 다른 글
[백준] 2525번 : 오븐 시계 (🥉브론즈 5) (Python) (0) | 2023.01.20 |
---|---|
[백준] 2163번 : 초콜릿 자르기 (🥉브론즈 3) (Python) (2) | 2023.01.20 |
[백준] 1010번 : 더하기 사이클 (🥉브론즈 1) (Python) (2) | 2023.01.20 |
[백준] 10699번 : 오늘 날짜 (🥉브론즈 5) (Python) (0) | 2023.01.20 |
[백준] 2039번 : 일곱 난쟁이 (🥉브론즈 2) (C++) (0) | 2023.01.20 |