반응형
package N과M;
import java.util.*;
import java.io.*;
public class N과M3 {
public static int N,M;
public static boolean visit[];
public static int arr[];
public static int numArr[];
public static StringBuilder sb;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
sb = new StringBuilder();
String s = br.readLine();
N = s.charAt(0) - '0';
M = s.charAt(2) - '0';
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);
System.out.print(sb);
}
public static void permutation(int depth) {
if(depth == M) {// M개를 뽑았을 때
for (int i = 0; i < arr.length; i++) {
sb.append(arr[i]);
sb.append(" ");
}
sb.append("\n");
return;
}
for (int i = 0; i < N; i++) {
arr[depth] = numArr[i];
permutation(depth+1); // 깊이 증가
}
}
}
기본적인 중복순열 코드
반응형
'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(2) -조합- (0) | 2020.03.01 |
N과M(1) -순열- (0) | 2020.02.29 |