문제링크 : https://www.acmicpc.net/problem/2309
요약
9명의 난쟁이중 키의 합이 100이되는 7명을 뽑아 오름차순으로 출력
풀이
7명의 난쟁이의 키의 합을 100으로 맞춰야 하니깐 전체 난쟁이의 키의 합에서 100을 뺀만큼의 수를 두명의 난쟁이로 맞춰도 된다. -> 9C7 = 9C2 , 주의해야 할점은 스페셜저지 문제는 정답이 여러개가 나올수가 있기때문에 그중에 한개만 출력하면 정답처리된다. 그래서 조건에 맞는 2명의 난쟁이를 최초로 찾으면 탐색을 멈추고 탈출해야 한다. 그리고 sort를 이용해서 오름차순으로 정렬해준다.
코드
#include<iostream>
#include<algorithm>
using namespace std;
int arr[9],cnt=0;
int main() {
ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
for (int i = 0; i < 9; i++){
cin >> arr[i];
cnt += arr[i];
}
for (int i = 0; i < 9; i++) {
for (int j = i + 1; j < 9; j++) {
if (arr[i] + arr[j] == (cnt - 100)) {
arr[i] = -1, arr[j] = -1;
break;
}
}
if (arr[i] == -1)break;
}
sort(arr, arr + 9);
for (int i = 2; i < 9; i++)
cout << arr[i] << "\n";
return 0;
}
'BOJ' 카테고리의 다른 글
BOJ 1018 체스판 다시 칠하기 (0) | 2022.03.09 |
---|---|
BOJ 2503 숫자야구 (0) | 2022.03.09 |
BOJ 10448 유레카 이론 (0) | 2022.03.09 |
BOJ 3085 사탕게임 (0) | 2022.03.09 |
BOJ 2231 분해합 (0) | 2022.03.09 |
댓글