Notice
Recent Posts
Recent Comments
Link
알고리즘 모음(C++)
백준 21312 - 홀짝 칵테일(C++) 본문
문제 링크입니다. https://www.acmicpc.net/problem/21312
정렬 기준을 이용해 풀 수 있는 문제였습니다.
고유 번호 A, B, C를 이용해 칵테일을 만들때, 가장 맛있는 칵테일을 구하는 문제입니다.\
만들 수 있는 칵테일의 수는 7개입니다.
이때 크다고 느끼는 칵테일을 확인하보겠습니다.
1. X가 홀수, Y가 짝수 -> X가 더 맛있음
2. X가 홀수, Y가 홀수 -> 두 수중 더 큰수가 맛있음
3. X가 짝수, Y가 홀수 -> Y가 더 맛있음
4. X가 짝수, Y가 짝수 -> 두 수중 더 큰수가 맛있음
해당 기준대로 정렬 또는 조건문을 통해 큰 수를 찾으면 됩니다.
자세한 것은 코드를 참고해주세요
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <vector>
#include <cstring>
#include <string>
#include <queue>
#include <stack>
#include <cmath>
#define INF 987654321
using namespace std;
int A, B, C;
vector<int> sum;
bool cmp(int x, int y) {
if (x % 2 == 1 && y % 2 == 0) return false;
else if (x % 2 == 1 && y % 2 == 1) {
if (x < y) return true;
else return false;
}
else if (x % 2 == 0 && y % 2 == 1) return true;
else {
if (x < y) return true;
else return false;
}
}
void solve() {
sum.push_back(A);
sum.push_back(B);
sum.push_back(C);
sum.push_back(A * B);
sum.push_back(A * C);
sum.push_back(B * C);
sum.push_back(A * B * C);
sort(sum.begin(), sum.end(), cmp);
cout << sum[sum.size() - 1];
}
int main()
{
cin.tie(0);
cout.tie(0);
cin >> A >> B >> C;
solve();
return 0;
}
질문 및 조언 댓글 남겨주세요
'백준' 카테고리의 다른 글
백준 23055 - 공사장 표지판(C++) (0) | 2022.03.25 |
---|---|
백준 5972 - 택배 배송(C++) (0) | 2022.03.25 |
백준 19944 - 뉴비의 기준을 뭘까?(C++) (0) | 2022.03.23 |
백준 1182 - 부분수열의 합(C++) (0) | 2022.03.22 |
백준 2444 - 별 찍기 - 7(C++) (0) | 2022.03.22 |