문제 : https://www.acmicpc.net/problem/2303
[알고리즘풀이]
k번 째 사람마다 5개의 카드가 들어오면 모든 경우에 대해서 3중 for문으로 계산해보고 최대값과 k를 같이 저장한다.
#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
vector<pair<int, int>> M;
int main(void) {
int t, N[5];
cin >> t;
for (int k = 1; k <= t; k++) {
for (int i = 0; i < 5; i++)
cin >> N[i];
int m = -1;
for (int i = 0; i < 5; i++) {
for (int j = i + 1; j < 5; j++) {
for (int k = j + 1; k < 5; k++) {
m = max(m, (N[i] + N[j] + N[k]) % 10);
}
}
}
M.push_back(make_pair(m, k));
}
sort(M.begin(), M.end());
cout << M[t - 1].second;
}
'Problem Solving > BOJ' 카테고리의 다른 글
[BOJ] 9372 : Flying Safely - travelbeeee (0) | 2019.11.06 |
---|---|
[BOJ] 14490 : 백대열 - travelbeeee (0) | 2019.11.06 |
[BOJ] 2162 : 선분 그룹 - travelbeeee (0) | 2019.11.05 |
[BOJ] 1485 : 정사각형 - travelbeeee (0) | 2019.11.05 |
[BOJ] 5557 : 1학년 - travelbeeee (0) | 2019.11.03 |