#include "bits/stdc++.h" using namespace std; void QPL(int a[],int k,int n) { if(k==n) { for(int i=0;i<n;i++) cout<<a[i]<<" "; cout<<endl; } for(int i=0;i<n;i++) { int isok=1; for(int j=0;j<k;j++) { if(a[j]==i+1) { isok=0; break; } } if(isok==1) { a[k]=i+1; QPL(a,k+1,n); } } } void init(int *a,int n) { for(int i=1;i<=n;i++) a[i-1]=i; } int main() { int N; while(cin>>N) { int a[N]; init(a,N); QPL(a,0,N); } return 0; }
没有注释真是醉了。。。isok代表啥啊