[BOJ] - 6603. 로또[조합,DFS] - c++

ha·2022년 1월 28일
0

BOJ

목록 보기
14/28

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;
    
}

0개의 댓글