全排列
#include<bits/stdc++.h> using namespace std; int n,s[20]; bool b[20];//判断重合 void dfs(int d){ if(d==n){ for(int i=0;i<n;i++) cout<<s[i]<<" ";//输出 cout<<endl; } for(int i=1;i<=n;i++) if(b[i]==0){ s[d]=i; b[i]=true;//去重 dfs(d+1);//递归 b[i]=false; } } int main() { cin>>n;//全排列条件(最大为多少) dfs(0);//深搜 return 0; }