1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #include <iostream> #include <cstdio> #include <vector> #include <algorithm> using namespace std; int arr[9]; bool check(int i,int d, vector<int> list){ if(d == 7){ int sum = 0; for(int i = 0 ; i < 7; i++){ sum += list[i]; } if(sum == 100){ //sort(list.begin(), list.end()); for(int i = 0 ; i < 7; i++){ printf("%d\n", list[i]); } return true; } return false; } for(int k = i + 1; k < 9; k++){ list.push_back(arr[k]); if(check(k, d + 1, list)){ return true; } list.pop_back(); } return false; } int main(void){ for(int i = 0 ; i < 9; i++){ scanf("%d", arr + i); } sort(arr, arr + 9); vector<int> list; check(-1, 0, list); } | cs |
'알고리즘' 카테고리의 다른 글
백준(BOJ) 1026 보물 (0) | 2018.11.26 |
---|---|
백준(BOJ) 2751 수 정렬하기2 (0) | 2018.11.26 |
백준(BOJ) 2609 최대공약수와 최소공배수 (0) | 2018.11.26 |
백준(BOJ) 10845 (0) | 2018.11.26 |
백준(BOJ) 2908 (0) | 2018.11.26 |