문제 풀이 및 개발 공간

[백준] 15649번 N과 M(1) (silver 3 본문

백준공부/java

[백준] 15649번 N과 M(1) (silver 3

gomduri43 2023. 9. 14. 20:11

import java.io.*;
import java.util.*;

public class Main{
    static boolean[] visit;
    public static void main(String[] args) throws IOException{
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st=new StringTokenizer(br.readLine());
        int n=Integer.valueOf(st.nextToken());
        int m=Integer.valueOf(st.nextToken());
        visit=new boolean[n+1];
        for(int i=1; i<=n; i++){
            String a=i+"";
            visit[i]=true;
            dfs(1,m,n,a);
            visit[i]=false;
        }

    }


    public static void dfs(int x, int m, int n, String a){
        if(x==m){
            System.out.println(a);
            return;
        }
        for(int i=1; i<=n; i++){
            if(visit[i]==true){
                continue;
            }
            else{
                visit[i]=true;
                dfs(x+1,m,n,a.concat(" "+i));
                visit[i]=false;
            }
        }

    }
}