【NOIP2016复赛模拟赛】门票

问题描述
mxy 正要经过新世界的大门。
现在有很多人在门口排队,每个人将会被发到一个有效的通行密码作为门票。一个有
效的密码由L(3 <= L <= 15)个小写字母(‘a’…’z’)组成,至少有一个元音(‘a’, ‘e’, ‘i’,
‘o’ 或 ‘u’)和两个辅音(除去元音以外的音节),并且是按字母表顺序出现的(例如,’abc’
是有效的,而’bac’不是) 。
mxy 想要知道今天的有效密码是什么。
现在给定一个期望长度L 和C(1 <= C <= 26)个小写字母,写一个程序,输出所有的
长度为L、能由这给定的C 个字母组成的有效密码。密码必须按字母表顺序打印出来,一行
一个。
输入
输入数据共2 行。
第1 行: 两个由空格分开的整数,L 和C。(3 <= L <= 15,1 <= C <= 26)
第2 行: C 个由1 个空格隔开的小写字母,密码是由这个字母集中的字母来构建的。
输出
若干行,每行输出一个长度为L 个字符的密码(没有空格)。输出行必须按照字母顺序
排列。你的程序只需输出前25000 个有效密码,即使后面还存在有效密码。
样例输入
4 6
a t c i s w
样例输出
acis
acit
aciw
acst
acsw
actw
aist
aisw
aitw
astw
cist
cisw
citw
istw
算法讨论
这么小的数据,明摆着给你搜索的……(更何况他只用输出前25000种),要注意一定要有一个元音和两个辅音。
【NOIP2016复赛模拟赛】门票_第1张图片
Pixiv ID:61367759

你可能感兴趣的:(搜索)