티스토리 뷰
문제 링크 https://www.acmicpc.net/problem/2875
문제
백준대학교에서는 대회에 나갈 때 2명의 여학생과 1명의 남학생이 팀을 결성해서 나가는 것이 원칙이다. (왜인지는 총장님께 여쭈어보는 것이 좋겠다.)
백준대학교는 뛰어난 인재들이 많아 올해에도 N명의 여학생과 M명의 남학생이 팀원을 찾고 있다.
그런데 올해에는 대회에 참여하려는 학생들 중 K명을 반드시 인턴쉽 프로그램에 참여하라는 학교의 방침이 생기게 되었다. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다.
백준대학교에서는 뛰어난 인재들이 많기 때문에, 많은 팀을 만드는 것이 최선이다.
여러분은 N명의 여학생과 M명의 남학생, K명의 인턴쉽에 참여해야 하는 인원이 주어질 때 만들 수 있는 최대의 팀 수를 구하면 된다.
입력
첫째 줄에 N, M, K가 순서대로 주어진다. (0 ≤ M ≤ 100), (0 ≤ N ≤ 100), (0 ≤ K ≤ M+N),
출력
만들 수 있는 팀의 최댓값을 출력하면 된다.
-----------------------------------------------------------------------------------------------------------------------------------
풀이
인턴쉽인원으로 꼭 K 명을 보내 주어야 하므로 애초에 K 명은 없는 가정 하에 팀을 꾸려야 한다.
총원은 N+M-K 명이 된다. 이대 대회에 나갈 수 있는 조합으로는 여 2 남 1 이므로 총인원이 3보다 크거나 같을 때까지
팀을 만들어가며 팀 수를 추가해준다.
-----------------------------------------------------------------------------------------------------------------------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int N , M , K;
cin >> N >> M >> K;
int ans = 0 ;
int total = N+M-K;
while(N>1 && M >0 && total>2)
{
N-=2;
M-=1;
total-=3;
ans++;
}
cout << ans;
return 0;
}
|
'백준 (BOJ) > 그리디 알고리즘' 카테고리의 다른 글
백준 9576번 책 나눠주기 (0) | 2019.04.29 |
---|---|
백준)1946-신입 사원 (0) | 2019.04.29 |
백준)2217-로프 (0) | 2019.04.28 |
백준)5585-거스름돈 (0) | 2019.04.28 |
백준)1931-회의실배정 (0) | 2019.04.28 |
- Total
- Today
- Yesterday
- greedy
- #스페인어 #스페인어인강 #스페인어공부 #시원스쿨스페인어
- 다익스트라
- 백트레킹
- CSS
- A
- 라오킹전사
- 백트래킹
- HTML
- KVK4
- 그래프
- 이분 매칭
- 사이클
- BFS
- 플로이드
- dfs
- stri
- 이분매칭
- 라이즈오브킹덤즈
- php
- 정렬
- 그리디
- JavaSwing
- 사이크
- 그리디알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |