前N个小写字母中取M个的所有排列。按照字典序从大到小输出。
输入格式
一行2个正整数N和M, 0< M <= N <6
输出格式
P(N,M)行,每行一个排列。
输入/输出例子1
输入:
3 2
输出:
cb
ca
bc
ba
ac
ab
样例解释
无
#include<bits/stdc++.h>
using namespace std;
int n,m;
bool inuse[7];
int ans[7];
void A(int i)
{
if(i==m+1)
{
for(int j=1;j<=m;j++)
{
cout<<char(ans[j]+'a'-1);
}
cout<<endl;
return ;
}
for(int j=n;j>=1;j--)
{
if(inuse[j]==false)
{
inuse[j]=true;
ans[i]=j;
A(i+1);
inuse[j]=false;
}
}
}
int main(){
cin>>n>>m;
A(1);
return 0;
}