#include<stdio.h>
int sum=0,list[5]={0,1,2,3,4};
void swap(int a,int b){
int temp=list[a];
list[a]=list[b];
list[b]=temp;
}
void dfs(int n,int pos){
if(pos<2){
sum++;
for(int i=1;i<=n;i++)
printf("%d ",list[i]);
printf("\n");
return;
}
for(int i=pos;i>=1;i--){
swap(pos,i);
dfs(n,pos-1);
swap(pos,i);
}
}
int main(){
int n;
scanf("%d",&n);
dfs(n,n);
printf("%d\n",sum);
return 0;
}
输出全排列
最新推荐文章于 2022-09-29 22:45:17 发布