/*枚举生成1~n的排列*/ #include <iostream> #include<algorithm> #include<queue> #include<stack> #include<cmath> #include<string.h> #include<stdio.h> #include<stdlib.h> using namespace std; #define maxn 2600000 int A[maxn]; void print_p(int n,int *A,int cur) { int i,j; if(cur==n) { for(i=0;i<n;i++) printf("%d ",A[i]); printf(" "); } else { for(i=1;i<=n;i++) { int ok=1; for(j=0;j<cur;j++) if(A[j]==i) ok=0; if(ok) { A[cur] = i; print_p(n,A,cur+1); } } } } int main() { int n; while(~scanf("%d",&n)) { print_p(n,A,0); printf(" "); } return 0; }