백준
백준 백트래킹 - 15652번 : N과 M (4)
맴썰
2022. 2. 11. 16:55
https://www.acmicpc.net/problem/15652
import java.io.*;
import java.util.*;
public class Main {
static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
st = new StringTokenizer(br.readLine());
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int[] a = new int[n];
for(int i=0; i<n; i++){
a[i] = i+1;
}
br.close();
for(int i=0; i<n; i++) {
dfs(a,"",m,i);
}
bw.close();
}
public static void dfs(int[] a, String target, int m,int idx) throws IOException{
target = target.concat(Integer.toString(a[idx]));
if(target.length()==m) {
print(target);
return;
}
for(int i=0; i<a.length; i++) {
if(a[i]<a[idx]) continue;
dfs(a,target,m,i);
}
}
static void print(String a) throws IOException {
for(int i=0; i<a.length(); i++) {
bw.write(a.charAt(i)+ " ");
}
bw.write("\n");
}
}