입력 코드
#include <stdio.h>
int height[7];
int input[9];
int flag;
void combination(int sum, int cnt, int idx){
if(cnt == 7){
if(sum == 100){
flag = 1;
return;
}
else{
return;
}
}
for(int i = idx; i < 9; i++){
height[cnt] = input[i];
combination(sum + height[cnt], cnt+1, i+1);
if(flag == 1){
return;
}
}
}
int main(void){
// freopen("B2309_input.txt", "r", stdin);
for(int i = 0; i < 9; i++){
scanf("%d", &input[i]);
}
combination(0, 0, 0);
// 버블 정렬 -> 오름차순 출력을 위해
for(int i = 6; i > 0; i--){
for(int j = 0; j < i; j++){
if(height[j] > height[j+1]){
int temp = height[j];
height[j] = height[j+1];
height[j+1] = temp;
}
}
}
for(int i = 0; i < 7; i++){
printf("%d\n", height[i]);
}
return 0;
}
코드 설명
#브루트포스 알고리즘
참고
문제 출처
'C' 카테고리의 다른 글
#101. [백준_C언어] 15649 : N과 M (1) \ 백트래킹 (0) | 2021.02.26 |
---|---|
#100. [백준_C언어] 14888 : 연산자 끼워넣기 \ 백트래킹 (0) | 2021.02.26 |
#98. [백준_C언어] 1065 : 한수 \ 브루트포스 알고리즘 (0) | 2021.02.25 |
#97. [백준_C언어] 1789 : 수들의 합 \ 이분 탐색 (0) | 2021.02.24 |
#96. [백준_C언어] 2417 : 정수 제곱근 \ 이분 탐색 (0) | 2021.02.24 |