#include<iostream>
#define MAXN 10
using namespace std;
void swap(char &x,char &y);
void dispasolution(char a[],int n);
void dfs(char a[],int n,int i);
int main()
{
char a[MAXN];
int n;
int i;
cin>>n;
for(i=0;i<n;i++){
a[i]='a'+i;
}
dfs(a,n,0);
return 0;
}
void swap(char &x,char &y)
{
char tmp=x;
x=y;
y=tmp;
}
void dispasolution(char a[],int n)
{
int i;
for(i=0;i<n-1;i++)
cout<<a[i];
cout<<a[n-1]<<endl;
}
void dfs(char a[],int n,int i)
{
int j;
if(i>=n)dispasolution(a,n);
else{
for(j=i;j<n;j++){
swap(a[i],a[j]);
dfs(a,n,i+1);
swap(a[i],a[j]);
}
}
}
穷举所有排列noj
最新推荐文章于 2022-12-10 23:14:34 发布