Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

콘서트 기간 간의 최소 차이를 찾는 C++ 코드

<시간/>

세 개의 숫자 b와 c가 있다고 가정합니다. 가수는 'a' 1분 노래, 'b' tow-minutessong 및 'c' 3분 노래가 있습니다. 그는 모든 노래가 정확히 하나의 콘서트에 포함되도록 모든 노래를 두 개의 콘서트에 배포하려고 합니다. 그는 콘서트 기간의 절대적 차이를 가능한 한 작게 만들고 싶어합니다. 콘서트 기간은 해당 콘서트의 모든 노래 길이를 합한 것입니다. 콘서트 기간 사이에 가능한 최소한의 차이를 찾아야 합니다.

따라서 입력이 =2와 같으면; b =1; c =3이면 첫 번째 콘서트에 1분짜리 노래 2개와 2분짜리 노래 1개와 3분짜리 노래 1개, 두 번째 콘서트에 3분짜리 노래 2개를 포함할 수 있기 때문에 출력은 1이 됩니다. 첫 번째 콘서트 시간은 1 + 1 + 2 + 3=7이고 두 번째 콘서트 시간은 6입니다. 그 차이는 |7 − 6| =1.

단계

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

return (a + (1 if c is odd, otherwise 0))

예시

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

#include<bits/stdc++.h>
using namespace std;
int solve(int a, int b, int c){
   return (a+c&1);
}
int main(){
   int a = 2;
   int b = 1;
   int c = 3;
   cout << solve(a, b, c) << endl;
}

입력

2, 1, 3

출력

1