백준 온라인 저지 / 15059번 Hard choice
https://www.acmicpc.net/problem/15059
- 사용언어 : C (C99)
- 알고리즘 : 수학, 구현
C 코드
1. 문제 정리
장거리 비행에서, 항공사들은 따뜻한 식사를 제공한다. 보통 승무원들은 식사가 담긴 카트를 비행기의 통로를 따라 밀어 내려간다. 카트가 줄에 닿으면 즉시 "닭고기, 쇠고기, 파스타?"라는 질문을 받는다. 여러분은 여러분의 선택을 알고 있지만, 여러분은 선택할 수 있는 시간이 몇 초 밖에 없고 여러분의 선택이 어떻게 보일지 모릅니다. 왜냐하면 여러분의 이웃이 아직 그의 짐을 열지 않았기 때문입니다. 이 비행의 승무원은 절차를 바꾸기로 결정했다. 먼저 그녀는 모든 승객들에게 어떤 종류의 식사를 선호하는지 물어본 다음, 각 선택에 따라 이 비행기에서 이용 가능한 식사의 수가 충분한지 확인할 것입니다. 예를 들어 닭고기, 쇠고기, 파스타의 식사 가능 횟수는 각각 80회, 20회, 40회이고 닭고기, 쇠고기, 파스타의 승객 선택 횟수는 각각 45회, 23회, 48회라고 가정해 보자. 쇠고기를 원하는 승객 3명과 파스타를 원하는 승객 8명이 만족해할 수 없기 때문에, 이 경우, 11명은 분명 한 끼 식사에 대한 선택을 받지 못할 것이다. 각각의 선택 가능한 식사의 양과 각각의 선택 가능한 식사의 수를 고려할 때, 승무원이 얼마나 많은 승객들이 그들의 선택을 확실히 받지 못할지 결정할 수 있도록 도와주실 수 있나요? |
총 6개의 입력을 받아 계산 하는 문제이다. 처음 입력한 3개 값과 뒤에 3개 값을 비교하여 뒤에 값이 더 크다면 뒤에 값 - 앞에 값을 result 값에 더해주는 형식으로 만들었다.
2. 완성 코드
#include <stdio.h>
int main(void) {
int a1, a2, a3;
scanf("%d %d %d", &a1, &a2, &a3);
int b1, b2, b3;
scanf("%d %d %d", &b1, &b2, &b3);
int result = 0;
if(a1 < b1){
result += b1 - a1;
}
if(a2 < b2){
result += b2 - a2;
}
if(a3 < b3){
result += b3 - a3;
}
printf("%d", result);
}
'백준 알고리즘 > Lang-C | C++' 카테고리의 다른 글
[백준/C] 16486번 운동장 한 바퀴 (0) | 2021.09.18 |
---|---|
[백준/C] 15080번 Every Second Counts (0) | 2021.09.18 |
[백준/C] 15680번 연세대학교 (0) | 2021.09.15 |
[백준/C] 14173번 Square Pasture (0) | 2021.09.14 |
[백준/C] 14924번 폰 노이만과 파리 (0) | 2021.09.14 |