본문 바로가기
백준/C++

[백준/C++] 1010번 다리놓기

by 뷕뺙쀡 2020. 11. 21.
#include <iostream>
using namespace std;

int combin(int a, int b) //aCb 5C3
{
	long long aBase = 1; long long bBase = 1; int i = 0;

	for (i = 0; i < b; i++) { aBase *= a--; }
	for (i = 1; i <= b; i++) { bBase *= i; }
	
	return aBase / bBase;
}

int main()
{
	int caseN, i; cin >> caseN;
	int N, M, result;
	for ( i = 0; i < caseN; i++)
	{
		cin >> N >> M; 
		N = (N < M - N) ? N : M - N;
		result = combin(M, N); //N은 서 M은 동 그러므로 MCN
		cout << result << endl;
	}
	return 0;
}

'백준 > C++' 카테고리의 다른 글

[백준/C++] 1439번 뒤집기  (0) 2020.11.21
[백준/C++] 7568번 덩치  (0) 2020.11.21
[백준/C++] 2755번 부녀회장이 될테야  (0) 2020.11.14
[백준/C++] 2869번 달팽이는 올라가고 싶다  (0) 2020.11.08
[백준/C++] 2922번 벌집  (0) 2020.11.07

댓글