先理解题意:
现在要构造一个长度为 n 的小写字母串,使它的奇怪度恰好为 k。
我们定义一个仅由小写字母组成的字符串 s 的奇怪度为:其中的最长非重复子串数量。此处 “数量” 按起止位置计数,不按内容去重。
现在,给定两个整数 n 和 k,要求构造一个长度为 n 、仅由小写字母组成的字符串 s,其奇怪度恰好为 k 。如果无解,则输出 −1。
【名词解释】
非重复子串:每个字符出现的次数不超过 1 次的字符串。例如 "abcg" 是非重复子串,而 "aba" 不是非重复子串(因为 'a' 出现了两次)。
子串:从原字符串中,连续的选择一段字符(可以全选、可以不选)得到的新字符串。
在一行上输入两个整数 n,k(1≤n≤105;1≤k≤n)。
如果不存在满足条件的字符串,直接输出 −1。否则,输出一个长度为 n 的合法字符串。
如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
输入
5 3
输出
abaab
说明
在这个样例中,最长无重复子串长度为 2,满足条件的子串为 s1s2= "ab"、s2s3= "ba"、s4s5= "ab" 共 3 个。
输入
5 3
输出
ababb
说明
本题答案不唯一。