반응형
package N과M;
import java.util.*;
import java.io.*;
public class N과M2 {
public static int N,M;
public static boolean visit[];
public static int arr[];
public static int numArr[];
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
N = sc.nextInt(); //N개중에
M = sc.nextInt(); //M개뽑기
arr = new int[M]; //정답이 담길 배열
numArr = new int[N]; //모든 숫자가 담길 배열
for (int i = 0; i < numArr.length; i++) {
numArr[i] = i+1;
}
visit = new boolean[N];
permutation(0, 0);
}
public static void permutation(int start, int depth) {
if(depth == M) {// M개를 뽑았을 때
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
return;
}
for (int i = start; i < N; i++) {
if(!visit[i]) {
visit[i] = true;
arr[depth] = numArr[i];
permutation(i, depth+1); // 깊이 증가
visit[i] = false;
}
}
}
}
기본적인 조합 코드
반응형
'2. 알고리즘사이트 > 1. 백준' 카테고리의 다른 글
N과M(6) -오름차순 조합- (0) | 2020.03.01 |
---|---|
N과M(5) -오름차순 순열- (0) | 2020.03.01 |
N과M(4) -중복조합- (0) | 2020.03.01 |
N과M(3) -중복순열- (0) | 2020.03.01 |
N과M(1) -순열- (0) | 2020.02.29 |