1. 중복 순열 ( n개의 노드를 갖는 트리 )
2. pm[level] = i; => DFS의 level 값이 index, 분기되는 노드의 index가 값이 된다.
class Main {
static int m, n;
public void DFS( int level, int []pm) {
if ( level == m) {
for(int x : pm)
System.out.print(x);
System.out.println();
} else {
for ( int i = 1 ; i <= n ;i++) {
pm[level] = i;
DFS(level+1, pm);
}
}
}
public static void main(String args[]) throws Exception {
Main M = new Main();
Scanner in = new Scanner(System.in);
n = 3;
m = 2;
int [] pm = new int [m];
M.DFS(0, pm);
}
}
ex)
output
11
12
13
21
22
23
31
32
33
'PS > inflearn java coding' 카테고리의 다른 글
순열 출력 (0) | 2022.04.12 |
---|---|
동전교환 (DFS) (0) | 2022.04.12 |
최대점수 구하기 ( DFS ) (0) | 2022.04.12 |
바둑이 승차(DFS) (0) | 2022.04.12 |
합이 같은 부분집합 (DFS) (0) | 2022.04.12 |