PS/inflearn java coding

중복 순열 (DFS)

easy16 2022. 4. 12. 23:05

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