반응형

2021 IGRUS Newbie Programming Contest

 

 

 

 

 

1시에 시험이 시작됐는데

늦잠+늦은 점심으로 너무 늦게참여해서 한문제만 풀고 끝났음

그래서 올리는 문제 풀이

 

 

 

 

맛있다고 생각하는 기준 (=출력해야할 맛의 순위)

홀수 (홀수가 여러개라면 그중 가장 큰 값의 홀수) > 가장 큰 값의 짝수

 

홀수 * 홀수 = 홀수

홀수 * 짝수 = 짝수

짝수 * 짝수 = 짝수

 

이므로 홀수가 하나 이상인 경우 모든 홀수를 곱셈을 해준게 가장 맛있는 칵테일이다

또는, 홀수가 하나도 없이 3개의 수가 모두 짝수인 경우, 세개의 값을 모두 곱한 것이 가장 맛있는 칵테일이다

 

홀수의 유무를 확인할 수 있게 참,거짓이 가능한 bool 형식 변수 odd를 선언해서 사용했다

 

a,b,c,의 음료를 입력받을 때는, 입력받을 때 마다, 홀수인지 판별 후

1개 이상이라도 홀수가 나오는 경우 odd를 true로 바꿀수있게 하였고,

 

출력해야할 ans에 입력받은 홀수를 곱해주었다

 

odd가 false인 경우는 입력받은 수 중 홀수가 없다는 뜻이므로 출력해야할 ans는 모든 수를 곱한 값(짝수)과 같다

 

 

 

#include<bits/stdc++.h>
using namespace std;

int main() {
	
	int arr[3];
	bool odd=false;
	int ans=1;
	
	for(int i=0; i<3; i++){
		cin >> arr[i];
		if(arr[i]%2 !=0){
			ans*=arr[i];
			odd=true;
		}		
	}
    
	if(odd){
		cout <<ans;	
	}
	else{
		cout<< arr[0]*arr[1]*arr[2];
	}	
	return 0;
}

 

 

남은 문제들은 앞으로 여유될때 하나씩 풀어볼 예정

 

 

 

출처 : www.acmicpc.net/problem/21312

 

21312번: 홀짝 칵테일

정진이는 특별한 음료를 가지고 있다. 음료들은 정수로 표현되는 고유 번호를 가지고 있다. 정진이는 이 음료들을 섞어 만든 칵테일을 만든다. 이 칵테일은 홀짝 칵테일이라 부르는데, 홀짝 칵

www.acmicpc.net

 

반응형

+ Recent posts