#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; }
标签:std,排列,20,int,void,dfs From: https://www.cnblogs.com/fc2110rxr/p/17232477.html