설명
중복을 허용한 순열
예시
3 2
1 1
1 2
1 3
2 1
2 2
2 3
3 1
3 2
3 3
풀이
1. 중복허용이므로 check배열 필요없다.
2. pm[L]= arr[i]나 i값을 넣어준다.
import java.util.*;
class Main {
static int n, m;
static int[] arr;
static int[] pm;
public void DFS(int L) {
if(L==m) {
for(int i=0; i<m; i++) {
System.out.print(pm[i]+" ");
}System.out.println();
}else {
for(int i=1; i<=n ;i++) {
pm[L]=i;
DFS(L+1);
}
}
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
n=kb.nextInt();
m=kb.nextInt();
arr= new int[n];
pm= new int[m];
T.DFS(0);
}
}
'알고리즘기초 > DFS,BFS활용' 카테고리의 다른 글
| 06. 순열 (0) | 2022.09.29 |
|---|---|
| 05. 동전교환 (0) | 2022.09.29 |
| 03. 최대점수 구하기(DFS) (1) | 2022.09.28 |
| 02. 바둑이 승차(DFS) (0) | 2022.09.28 |
| 01. 합이 같은 부분집합(DFS) (0) | 2022.09.28 |