Codeforces Round #750 (Div. 2)-A. Luntik and Concerts
falconlee236
·2021. 11. 28. 23:09
문제 설명
루나는 콘서트장에서 노래를 부르기로 결정했다. 루나는 1분짜리 노래 $a$개, 2분짜리 노래 $b$개, 3분짜리 노래 $c$개가 있다. 이 모든 노래를 두 콘서트에 각각 분배하고 싶다. 모든 노래는 무조건 두 콘서트중 하나에서 불러야 한다.
루나는 각 콘서트의 총 시간차를 가능한 한 최소화하고 싶다. 콘서트의 총 시간은 그 콘서트에서 부르기로한 모든 노래의 총 시간의 합이다.
각 콘서트의 최소 시간차를 출력해보자.
Input
첫번째 줄에는 테스트 케이스의 개수를 나타내는 정수 $t (1 \le t \le 1000)$ 이 주어진다.
각 테스트케이스의 첫번째 줄에는 각각 1분짜리 노래, 2분짜리 노래, 3분짜리노래를 의미하는 세 정수 $a, b, c (1 \le a, b, c \le 10^9)$ 가 주어진다.
Output
각 테스트케이스마다 두 콘서트 공연시간의 최소 시간차를 출력하자.
Example
input
4
1 1 1
2 1 3
5 5 5
1 1 2
output
0
1
0
1
문제 접근
사용한 알고리즘: 수학
걸린 시간 : 00:02
그냥 신뢰의 도약을 하면 풀리는 문제이다. 코드포스 A번 문제에는 이런 유형이 많이 나오니까 신뢰의 도약 하는 법을 알아두자?
모든 노래의 총 시간 $a + 2 \cdot b + 3 \cdot c = s$ 라고 하자. 이 값이 절반으로 나누어진다면 최소 시간차는 0이 될 것이고, 이 값을 2로 나눌 때 나머지가 1이 된다면 최소 시간차는 1이 될 것이다.
정답 코드
#include <iostream>
using namespace std;
int main() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int t; cin >> t;
while(t--){
int a, b, c; cin >> a >> b>> c;
cout << ((a + 2*b + 3*c)% 2 == 0 ? 0 : 1) << "\n";
}
return 0;
}
'알고리즘 > codeforces' 카테고리의 다른 글
Codeforces Round #750 (Div. 2)-C. Grandma Capa Knits a Scarf (0) | 2021.11.28 |
---|---|
Codeforces Round #750 (Div. 2)-B. Luntik and Subsequences (0) | 2021.11.28 |
Codeforces Round #744 (Div. 3)-E1. Permutation Minimization by Deque (0) | 2021.11.27 |
Codeforces Round #744 (Div. 3)-D. Productive Meeting (0) | 2021.11.27 |
Codeforces Round #744 (Div. 3)-C. Ticks (0) | 2021.11.27 |