[BOJ] 2309. 일곱 난쟁이

동스토리 ㅣ 2020. 9. 30. 12:32

반응형

문제

www.acmicpc.net/problem/2309

 

2309번: 일곱 난쟁이

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

www.acmicpc.net


해설

아홉 명의 난쟁이를 입력받지만 7명의 난쟁이의 합이 100이므로

9명 난쟁이의 합 - 2명의 난쟁이 = 100이 되는 2명의 난쟁이를 구하면 된다.


코드

#include<iostream>
#include<algorithm>

using namespace std;

int arr[9];

int main() {

	ios::sync_with_stdio(false);
	cin.tie(NULL), cout.tie(NULL);

	int sum = 0;
	for (int i = 0; i < 9; i++) {
		cin >> arr[i];
		sum += arr[i];
	}
	sort(arr, arr + 9);

	for (int i = 0; i < 9; i++) {
		for (int j = 0; j < 9; j++) {
			if (i != j) {
				if (arr[i] + arr[j] == sum - 100) {
					for (int h = 0; h < 9; h++) {
						if (h != i && h != j) {
							cout << arr[h] << '\n';
						}
					}
					return 0;
				}
			}
		}
	}
}

 

반응형

'Development > Algorithm' 카테고리의 다른 글

[BOJ] 10448. 유레카 이론  (0) 2020.10.02
[BOJ] 2231. 분해합  (0) 2020.10.02
[BOJ] 1012. 유기농 배추  (0) 2020.09.27
[SWEA] 2007. 패턴 마디의 길이  (0) 2020.09.27
[SWEA] 1926. 간단한 369게임  (0) 2020.09.27