https://www.acmicpc.net/problem/6603
C++풀이
visited배열을 따로 사용하지 않고 방문 했던 곳은 재방문 안한다는 개념
for(int i=start;i<n;i++)
{
comb[depth]=lotto[i];
dfs(i+1, depth+1);
}
#include <bits/stdc++.h>
using namespace std;
int n;
int lotto[14];
int comb[13];
void dfs(int start, int depth){
if(depth==6){
for(int i=0;i<6;i++)
{
cout<<comb[i]<<' ';
}
cout<<'\n';
return;
}
for(int i=start;i<n;i++)
{
comb[depth]=lotto[i];
dfs(i+1, depth+1);
}
}
int main(void){
ios::sync_with_stdio(0);
cin.tie(0);
while(1){
cin>>n;
if(n==0) return 0;
for(int i=0;i<n;i++){
cin>>lotto[i];
}
dfs(0,0);
cout<<'\n';
}
return 0;
}