N과 M(1)

|
import java.util.Scanner;

public class BOJ_15649 {
    static boolean[] check = new boolean[9];
    static int[] answer = new int[9];

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        int m = sc.nextInt();
        go(1, n, m);
    }

    private static void go(int index, int n, int m) {
        if (index == m + 1) {
            for (int i = 1; i <= m; i++) {
                System.out.print(answer[i]);
                if (i != m) System.out.print(' ');
            }
            System.out.println();
            return;
        }
        for (int i = 1; i <= n; i++) {
            if (check[i]) continue;
            check[i] = true;
            answer[index] = i;
            go(index + 1, n, m);
            check[i] = false;
        }
    }
}