본문 바로가기

개발/알고리즘

백준 2309 일곱 난쟁이 C++

문제

2309번: 일곱 난쟁이 (acmicpc.net)

 

2309번: 일곱 난쟁이

아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.

www.acmicpc.net

코드 

#include<bits/stdc++.h>
using namespace std;

int main()
{
    int a;
    vector<int> v;
    for (int i = 0; i < 9; i++)
    {
        cin >> a;
        v.push_back(a);
    }
  
    sort(v.begin(), v.end());
    do{
        int sum = 0;
        for (int i = 0; i < 7; i++)
        {
            sum += v[i];
        }

        if (sum == 100)
            break;
    } while (next_permutation(v.begin(), v.end()));

    for (int i = 0; i < 7; i++)
    {
        cout << v[i] << "\n";
    }

    return 0;
}