现场比赛的时候,我最开始想到的思路是对输入的C个字符串进行全排列,然后截取前L个字符,测试一个个条件是否满足,但代码敲出雏形测试时,不知道哪里出问题,数据没多大就要跑好几秒,我觉得这样不行,会TLE。C=20,算法运算量最大达到20!=2.4e18,。
于是想中规中矩的,把元音和辅音分开存储在两个字符串里,再分别进行全排列。但这样程序写起来又相当麻烦,写了很久都没写出来。如何排列组合,自己思路也不清晰,无从下手。
赛后总结,本想把那份中规中矩的代码完成,但是思路上还是想不清要如何实现。我就抱着测试一下的态度,写了份最没效率的代码。
#include <iostream>
#include <algorithm>