설명

중복을 허용한 순열

 

 

예시

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

+ Recent posts