반응형
import java.io.*;
import java.util.*;
public class Main {
static int n, r;
static int[] num;
static int[] arr;
static boolean[] visited;
static LinkedHashSet<String> set = new LinkedHashSet<>();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
n = Integer.parseInt(st.nextToken());
r = Integer.parseInt(st.nextToken());
visited = new boolean[n];
num = new int[r];
arr = Arrays.stream(br.readLine().split(" "))
.mapToInt(Integer::parseInt)
.sorted()
.toArray();
bt(0);
StringBuilder sb = new StringBuilder();
set.stream().forEach(i->sb.append(i));
System.out.print(sb);
}
static void bt(int depth){
if (depth == r){
String str = "";
for (int i : num) str += i + " ";
set.add(str+"\n");
return;
}
for (int i=0; i<n; i++){
if (!visited[i]){
visited[i] = true;
num[depth] = arr[i];
bt(depth+1);
visited[i] = false;
}
}
}
}
반응형
'Algorithm' 카테고리의 다른 글
백준 15665번 N과 M (11) [ Java ] (0) | 2021.01.14 |
---|---|
백준 15664번 N과 M (10) [ Java ] (0) | 2021.01.14 |
백준 5903번 Moo 게임 [ Java ] (0) | 2021.01.13 |
백준 2910번 빈도 정렬 [ Java ] (0) | 2021.01.12 |
백준 11652번 카드 [ Java ] (0) | 2021.01.12 |