#include<bits/stdc++.h>
using namespace std;
char s[10000];int n,a,e;
void dfs(int y)
{bool g;
if (y>a)
{e+=1;
for (int i=1;i<=a;i++)
cout<<s[i];
cout<<"\n";
return ;
}
for (int i=0;i<n;i++)
{g=1;
s[y]=char(i+97);
for (int j=1;j<y;j++)
{if (s[y]==s[j])
{g=0;break;}}
if (g==0)
continue;
dfs(y+1);
}
return ;
}
int main()
{
cin>>n>>a;
dfs(1);
cout<<e;
return 0;
有个特工潜入了K国,K国的安全部门了解到,这个特工的代号是由r个互不相同的小写字母组成。现在已从破译的密电中得知,这r个小写字母就在“a”开始的连续n个字母中,希望你帮忙把特工代号的所有可能都罗列出来,以及总共有多少种可能。
输入
一行,两个整数 n 和 r (1 < n < 10 ,0 < r < = n)。
输出
若干行,每行一种可能的代号(按字典序从小到大输出)。
最后一行一个整数,即所罗列出来可能的代号的总数。
样例输入
3 2
样例输出
ab
ac
ba
bc
ca
cb
6
}