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

 

6603번: 로또

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로

www.acmicpc.net


문제해석


 

k개 만큼에 수를 뽑은 후, 그 수들을 가지고 나올 수 있는 모든 경우의 수에서의 6자리 숫자 집합을 생성하여 출력해주는 문제이다.


코드


 

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

int S[13];
int L[6];
int k;
void solved(int s, int l) {
	if (l == 6) {
		for (int i = 0; i < 6; i++) {
			cout << L[i] << " ";
		}
		cout << endl;
		return;
	}
	
	for (int i = s; i < k; i++) {
		L[l] = S[i];
		solved(i+1, l+1);
	}
}
int main(void) {
	while (1) {
		cin >> k;
		if (k == 0) break;
		for (int i = 0; i < k; i++) {
			cin >> S[i];
		}
		solved(0, 0);
		cout << endl;
	}
}

문제풀이


 

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

[백준/c++]: 1927번 최소 힙  (0) 2022.08.20
[백준/c++]: 2343번 기타레슨  (0) 2022.08.13

+ Recent posts