728x90
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 |