습관처럼
백준 2875 - 대회 or 인턴 본문
https://www.acmicpc.net/problem/2875
문제 설명
백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다.
백준대학교는 N명의 여학생과 M명의 남학생이 팀원을 찾고 있다. 대회에 참여하려는 학생들 중 K명은 반드시 인턴쉽 프로그램에 참여해야 한다. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다.
백준대학교에서는 뛰어난 인재들이 많기 때문에, 많은 팀을 만드는 것이 최선이다.
여학생의 수 N, 남학생의 수 M, 인턴쉽에 참여해야하는 인원 K가 주어질 때 만들 수 있는 최대의 팀 수를 구하시오!
접근 방식
다음 문제도 그리디 알고리즘을 활용하면 됩니다. k명의 인원이 인턴쉽에 참여한다면 각각의 모든 경우를 비교하면 된다.
(남자 0, 여자 k),(남자 1, 여자 k-1),....(남자 k, 여자 0) 의 모든 경우에서의 최대로 만들수 있는 팀의 수 중에서 최대 팀을 구하면 됩니다~
코드
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int n,m,k;
int main(){
cin>>n>>m>>k;
int ans=0,team;
for(int i=0;i<=k;i++){
int women,men;
women = n-i;
men = m-(k-i);
team=min((women/2),men);
if(ans<=team) ans=team;
}
cout<<ans<<"\n";
return 0;
}
funny algorithms *0*~
'Algorithms > BOJ' 카테고리의 다른 글
백준 2839 - 설탕 배달 (0) | 2020.03.18 |
---|---|
백준 1541 - 잃어버린 괄호 (0) | 2020.03.17 |
백준 10610 - 30 (0) | 2020.03.16 |
백준 2217 - 로프 (0) | 2020.03.16 |
백준 11047 - 동전0 (0) | 2020.03.16 |