No Rules Rules

백설 공주와 일곱 난쟁이 (feat. 백준, 3040번) 본문

생활/코테

백설 공주와 일곱 난쟁이 (feat. 백준, 3040번)

개발하는 완두콩 2022. 9. 6. 12:33
728x90
반응형

백설 공주와 일곱 난쟁이
https://www.acmicpc.net/problem/3040

 

3040번: 백설 공주와 일곱 난쟁이

매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다.

www.acmicpc.net

 

반응형

 

// woohyeon.kim
// kim519620.tistory.com
#include <iostream>
#include <numeric>
#include <algorithm>
using namespace std;
int arr[9], ans[7];
bool done, visit[9];
void dfs(register int idx, register int count) {
	if (count == 7) {
		if (accumulate(ans, ans + 7, 0) == 100)
			done = true;
		return;
	}
	for(register int i = idx; i < 9; ++i)
		if (!visit[i]) {
			visit[i] = true;
			ans[count] = arr[i];
			dfs(i + 1, count + 1);
			if (done)
				return;
			visit[i] = false;
			ans[count] = 0;
		}
}
int main() {
	ios::sync_with_stdio(false), cin.tie(NULL);
	done = false;
	for (register int i = 0; i < 9; ++i)
		cin >> arr[i], visit[i] = false;
	dfs(0, 0);
	sort(ans, ans + 7);
	for (register int i = 0; i < 7; ++i)
		cout << ans[i] << "\n";
	return 0;
}
// *&)*@*

 

 

위 문제는 아래 "일곱 난쟁이" 와 동일한 문제입니다.

 

일곱 난쟁이 (feat. 백준, 2309번)

일곱 난쟁이 https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능

kim519620.tistory.com

 

 

728x90
반응형
Comments