[24007][伯俊/BOJ]6603号宝くじ


質問する



にゅうしゅつりょく



に答える


復帰を通じて徹底的な探索を行い、6つに達すれば、脱出で問題を解くことができる.

コード#コード#

#include <bits/stdc++.h>
using namespace std;

int lotto[6];
int n, num;
vector<int> V;

void func(int index, int start)
{
	if (index == 6)
	{
		for (int i = 0; i < 6; ++i)
			cout << lotto[i] << ' ';
		cout << '\n';
		return;
	}

	for (int i = start; i < V.size(); ++i)
	{
		lotto[index] = V[i];
		func(index + 1, i + 1);
	}
}
int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);

	while (true)
	{
		cin >> n;
		if (n == 0)
			break;
		while (n--)
		{
			cin >> num;
			V.push_back(num);
		}
		func(0, 0);
		cout << '\n';
		V.clear();
	}
}