2309번: 일곱 난쟁이
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
www.acmicpc.net
기초적인 완전탐색 문제
7개를 선택해서 100이되는 경우를 찾는 것 보다, 전체 합을 구하고 2개 숫자를 빼서 100이 되는 조건을 찾고 출력하면 된다.
#include<bits/stdc++.h>
using namespace std;
int main() {
vector<int> v;
int im;
int sum = 0;
for (int i = 1; i <= 9; i++) {
cin >> im;
v.push_back(im);
sum += im;
}
sort(v.begin(), v.end());
int len = v.size();
for (int a = 0; a < 9; a++) {
for (int b = a + 1; b < 9; b++) {
if (sum - v[a] - v[b] == 100) {
for (int k = 0; k < 9; k++) {
if (k != a && k != b) {
cout << v[k]<<'\n';
}
}
return 0;
}
}
}
return 0;
}
'알고리즘 풀이' 카테고리의 다른 글
[백준] 16945 매직스퀘어로 변경하기 (순열을 이용한 풀이) (0) | 2021.05.24 |
---|---|
[백준] 1120 문자열 - 완전탐색 (0) | 2021.05.12 |
[백준] 1316 그룹 단어 체커 (C++) (0) | 2021.03.12 |
[백준] 크로아티아 알파벳 (0) | 2021.03.12 |
bj4344 C++ 풀이 (0) | 2021.03.10 |