import java.util.Scanner;publicclassMain{staticint sum;//需要访问多少个数据staticint[] rang;//排列得范围staticint[] book;//标记是否被访问过,1表示已经访问,0表示未访问staticint[] arr;//存放访问得数据//len arr数组已经存放得数量publicstaticvoiddfs(int len){//结束条件if(len == rang.length ){//输出数据for(int i =0; i < arr.length; i++)if(i!=arr.length -1)
System.out.print(arr[i]+" ");else
System.out.print(arr[i]);
System.out.println();return;}for(int i =0; i < rang.length; i++){//判断是否遍历过if(book[i]==1)continue;
book[i]=1;
arr[len]= i+1;//存放找到得数据dfs(len+1);
book[i]=0;}}publicstaticvoidmain(String[] args){
Scanner in =newScanner(System.in);
sum = in.nextInt();
rang =newint[sum];
book =newint[sum];for(int i =0; i < book.length; i++){
book[i]=0;
rang[i]= i +1;}
arr =newint[sum];dfs(0);}}