반응형
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

+ Recent posts