끄적끄적 코딩
article thumbnail

2명의 여자와 1명의 남자가 짝을 짓고 K명이 인턴십을 나갈때
가능한 팀을 짤 수 있는 경우의 수를 구하는 문제입니다.

여자에 K부터 ... 0명까지 빼는 경우와
남자에 K부터 ... 0명까지 빼는 경우에 대해서 전부 계산해 보았습니다.
계산된 결과가 가장 큰 것을 출력해주었습니다.

 

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int solve(int N, int M)
{
	if (N <= 0 || M <= 0) {
		return 0;
	}

	return min(N / 2, M);
}

int main(int argc, char *argv[])
{
	int N, M, K;
	int result = 0;

	cin >> N >> M >> K;

	for (int i = 0; i < K / 2 + 1; ++i) {
		result = max(result, solve(N - K + i, M - i));
		result = max(result, solve(N - i, M - K + i));
	}
	
	cout << result << endl;

	return 0;

}

'알고리즘' 카테고리의 다른 글

[C++] 백준 4963번 섬의 개수  (0) 2019.09.26
[C++] 백준 1120번 문자열  (0) 2019.09.26
[C++] 백준 10610번 30  (0) 2019.09.25
[C++] 백준 9205번 맥주 마시면서 걸어가기  (0) 2019.09.25
[C++] 백준 10800번 컬러볼  (0) 2019.09.25

검색 태그