import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class BOJ_15649 {
static int N,M;
static int[] arr, path;
static boolean[] visited;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer stk = new StringTokenizer(br.readLine());
N = Integer.parseInt(stk.nextToken());
M = Integer.parseInt(stk.nextToken());
path = new int[M];
visited = new boolean[N+1];
perm(0);
}
private static void perm(int level) {
// TODO Auto-generated method stub
if(level == M) {
StringBuffer stb = new StringBuffer();
for(int i = 0; i < path.length ; i++) {
stb.append(path[i] + " ");
}
stb.setLength(stb.length()-1);
System.out.println(stb);
return ;
}
for(int i = 1; i <= N ; i++) {
if(visited[i]) continue;
path[level] = i;
visited[i] = true;
perm(level+1);
visited[i] = false;
}
}
}
실수가 너무 잦은 듯
이정도는 쉽게 작성하고 원하는 결과를 얻어낼 수 있어야 한다!