백준 6603 c++

magicdrill·2024년 9월 21일
0

백준 문제풀이

목록 보기
444/654

백준 6603 c++

재귀함수 연습을 다시 시작해 보겟다...

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void input_data(int result, vector<int>& lotto)
{
	int i, num;

	for (i = 0; i < result; i++)
	{
		cin >> num;
		lotto.push_back(num);
	}
	//for (int num : lotto)
	//{
	//	cout << num << " ";
	//}
	//cout << "\n";

	return;
}

void combination(int start, int count, vector<int> &lotto, vector<int>& answer)
{
	int i;

	if (count == 6)
	{
		for (int num : answer)
		{
			cout << num << " ";
		}
		cout << "\n";

		return;
	}
	for (i = start; i < lotto.size(); i++)
	{
		answer[count] = lotto[i];
		combination(i + 1, count + 1, lotto, answer);
	}
}

void find_answer(vector<int>& lotto)
{
	int i;
	int count = 0;
	int start = 0;
	vector<int> answer(6, 0);

	combination(start, count, lotto, answer);
	cout << "\n";

	return;
}

int test_case()
{
	int result;

	cin >> result;
	if (result == 0)
	{
		return result;
	}
	else
	{
		vector<int> lotto;

		input_data(result, lotto);
		find_answer(lotto);

		return result;
	}
}

int main(void)
{
	ios_base::sync_with_stdio;
	cin.tie(NULL);
	cout.tie(NULL);

	while (1)
	{
		if (test_case() == 0)
		{
			break;
		}
	}

	return 0;
}

0개의 댓글