본문 바로가기
BOJ

[BOJ] 2309번 - 일곱 난쟁이

by 곰제비 2022. 6. 17.

<접근 방식>

9명중 7명 키의 합이 100이 되는 경우를 오름차순으로 출력하는 문제이다.

next_permutation을 통해 height 배열내의 순서를 바꿔가며 합이 100인 경우를 출력한다.

<전체 코드>

#include <iostream>
#include <algorithm>
using namespace std;

int height[9];
int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	for (int i = 0; i < 9; i++) {
		cin >> height[i];
	}
	sort(height, height+9);
	do {
		int sum = 0;
		for (int i = 0;i < 7; i++)
			sum += height[i];
		if (sum == 100)
			break;
	} while (next_permutation(height, height + 9));
	for (int i = 0; i < 7; i++)
		cout << height[i] << "\n";
	return 0;
}

<문제 링크>

https://www.acmicpc.net/problem/2309

 

2309번: 일곱 난쟁이

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

www.acmicpc.net

 

'BOJ' 카테고리의 다른 글

[BOJ] 2979번 - 트럭 주차  (0) 2022.06.17
[BOJ] 10808번 - 알파벳 개수  (0) 2022.06.17
[BOJ] 1041번 - 주사위  (0) 2022.06.16
[BOJ] 16953번 - A → B  (0) 2022.06.16
[BOJ] 1715번 - 카드 정렬하기  (0) 2022.06.16