본문 바로가기

Algorithm/Brute Force

(C++) - 백준(BOJ) 2309번 : 일곱 난쟁이

반응형

Brute Force 문제입니다.

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
//a,b 가짜 난쟁이
int a,b,av,bv, sum, cnt;
vector <int> D(10);
int main() {
    for (int i = 1; i <= 9; i++)
    {
        cin >> D[i];
    }
    for (int i = 1; i <= 9; i++)
    {
        
        if (sum == 100) { break; }
        sum = 0;
        a = i;
        for (int j = i+1; j <= 9; j++)
        {
            b = j;
            sum = 0;
            for (int k = 1; k <= 9; k++)//a,b번째 난쟁이를 제외한 나머지를 더해본다
            {
                if (k == a || k == b) { continue; }
                sum += D[k];
            }
            if (sum == 100) { break; }
        }
    }
 //정리하기 전에 가짜 난쟁이의 키를 저장한다
    av = D[a];
    bv = D[b];
    sort(D.begin(), D.end());
    for (int i = 1; i <= 9; i++)
    {
        if (D[i] == av || D[i] == bv) { continue; }
        cout << D[i] << '\n';
    }

}