백준 15649 / N과 M(1)

dogit·2021년 8월 6일
0

백준문제

목록 보기
47/67

문제

풀이

설명

코드

import java.util.*;

public class Num15649 {
	
	static boolean[] c = new boolean[10];
    static int[] a = new int[10];
    static StringBuilder sb = new StringBuilder();
    
    static void go(int index, int n, int m) {
        if (index == m) {
            for (int i=0; i<m; i++) {
                sb.append(a[i]);
                if (i != m-1) sb.append(" ");
            }
            sb.append("\n");
            return;
        }
        for (int i=1; i<=n; i++) {
            if (c[i]) continue;
            c[i] = true;
            a[index] = i;
            go(index+1, n, m);
            c[i] = false;
        }
    }   
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        go(0,n,m);
        System.out.print(sb.toString());
    }
}

코드설명

참고 :
출처 : https://www.acmicpc.net/problem/15649

profile
느리더라도 꾸준하게

0개의 댓글