Algorithm/BOJ
백준 2309번 C++
poopooreum
2023. 8. 5. 19:16
반응형
백준 2309번 일곱 난쟁이
https://www.acmicpc.net/problem/2309
2309번: 일곱 난쟁이
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
www.acmicpc.net


정답 코드
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<int>arr(9);
void find(int sum) {
int index1, index2,sum2=sum;
for (int x = 0; x < arr.size(); x++) {
for (int y = x + 1; y < arr.size(); y++) {
sum = sum2;
sum -= arr[x];
sum -= arr[y];
if (sum == 100) {
index1 = x;
index2 = y;
break;
}
}
}
for (int x = 0; x < arr.size(); x++) {
if (x == index1 || x == index2)
continue;
else
cout << arr[x] << endl;
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int sum = 0;
for (int x = 0; x < arr.size(); x++) {
cin >> arr[x];
sum += arr[x];
}
sort(arr.begin(), arr.end());
find(sum);
}
반응형