http://www.jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=449&sca=2080

 

JUNGOL

 

www.jungol.co.kr

import java.util.Scanner;
 
public class Main {
 
    static int n, m;
    static int[] selected = new int[10];
    static int[] used = new int[7];
    static StringBuilder sb = new StringBuilder();
 
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
 
        n = sc.nextInt();
        m = sc.nextInt();
 
        if (m == 1) {
            run1(0);
        } else if (m == 2) {
            run2(0, 1);
        } else if (m == 3) {
            run3(0);
        }
        System.out.print(sb);
    }
 
    private static void run1(int cnt) {
        if (cnt == n) {
            print();
            return;
        }
 
        for (int i = 1; i <= 6; i++) {
            selected[cnt] = i;
            run1(cnt + 1);
        }
    }
 
    private static void run2(int cnt, int start) {
        if (cnt == n) {
            print();
            return;
        }
 
        for (int i = start; i <= 6; i++) {
            selected[cnt] = i;
            run2(cnt + 1, i);
        }
    }
 
    private static void run3(int cnt) {
        if (cnt == n) {
            print();
            return;
        }
 
        for (int i = 1; i <= 6; i++) {
            if (used[i] == 1) {
                continue;
            }
 
            used[i] = 1;
            selected[cnt] = i;
            run3(cnt + 1);
            used[i] = 0;
        }
    }
 
    private static void print() {
        for (int i = 0; i < n; i++) {
            sb.append(selected[i]).append(" ");
        }
        sb.append("\n");
    }
}

'JUNGOL > Java' 카테고리의 다른 글

[JUNGOL] 1681 - 해밀턴 순환회로 / Java  (0) 2021.09.23
[JUNGOL] 1828 - 냉장고 / Java  (0) 2021.08.17

+ Recent posts