반응형
문제 링크 : https://www.acmicpc.net/problem/3040
문제 풀이
문제 설명을 그대로 풀어보면 '9개의 수 중에서 합이 100이 되도록 7개를 뽑아라'로 요약할 수 있다.
9C7은 9C2이므로 2명을 빼는 것이 빠를 거라 판단하여 9개의 수를 입력받아 total 변수에 모두 더해준다.
그 후 total 값에서 임의의 두 수를 빼서 100이 된다면 멈추고 인덱스(i, j)를 저장하여 해당 인덱스를 제외한 배열 값들을 모두 출력한다.
소스 코드
#include <iostream>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
int arr[9];
int i, j;
int total = 0;
bool flag = false;
for(i=0; i<9; i++){
cin >> arr[i];
total += arr[i];
}
for(i=0; i<9; i++){
for(j=0; j<9; j++){
int tmp = total;
if(i==j) continue;
else{
tmp = tmp - arr[i] - arr[j];
if(tmp == 100){
flag = true;
break;
}
}
}
if(flag) break;
}
for(int k=0; k<9; k++){
if(k == i || k == j) continue;
cout << arr[k] << '\n';
}
}
반응형
'Programming Solve > BOJ' 카테고리의 다른 글
BOJ 2810 컵홀더 / C++ (0) | 2021.08.27 |
---|---|
BOJ 2851 슈퍼 마리오 / C++ (0) | 2021.08.27 |
BOJ 10815 숫자 카드 / C++ (0) | 2021.07.16 |
BOJ 1541 잃어버린 괄호 / C++ (0) | 2021.07.16 |
BOJ 1764 듣보잡 / C++ (0) | 2021.07.16 |