😊
2024-07-06 16:24:38
发布于:江苏
4阅读
0回复
0点赞
#include<iostream>
#include<cstdio>
using namespace std;
int n;
bool vis[15];
int num[15];
//第t位到第n位的全排列
void dfs(int t){
if(t==n+1){
for(int i=1;i<=n;i++){
cout<<num[i]<<" ";
}
cout<<endl;
return;
}
for(int i=1;i<=n;i++){
if(!vis[i]){
num[t]=i;
vis[i]=1;//标记选中
dfs(t+1);//获得第t+1位到第n位的全排列
vis[i]=0;//清空
}
}
}
int main(){
cin>>n;
dfs(1);
return 0;
}
这里空空如也
有帮助,赞一个