#B3829. [NICA #2] 字符串入门题
[NICA #2] 字符串入门题
题目背景
小波说这是字符串入门题极好的,所以这是极好的。
题目描述
给定一个仅包含大小写字母和数字的字符串 ,问能否将 拆分成至少 个子串 满足 有 是 (这里表示的是拼接)的子串。
一个字符串 是另一个字符串 的子串当且仅当可以通过删除 的一个可以为空的前缀以及一个可以为空的后缀后得到 。
输入格式
第一行两个正整数 ,其中 是 的长度。
第二行一个字符串 ,仅包含大小写字母和数字。
输出格式
如果不存在这样的拆分方案,输出 -1
。
否则第一行输出一个正整数 ,表示你要把 拆分成 个字符串。
接下来 行,每行一个字符串,第 行表示 。你需要保证 。
6 2
114514
2
1145
14
8 2
a1Aa11Aa
3
a1A
a1
1Aa
11 2
stoImakforz
-1
提示
样例 1 解释
1145|14
是一种合法的拆分方案,因为拆分出了 个字符串且 ,并且14
是1145
的一个子串。
样例 2 解释
a1A|a1|1Aa
是一种合法的拆分方案,因为拆分出了 个字符串且 ,并且a1
是a1A
的一个子串,且1Aa
是a1Aa1
的一个子串。
样例 3 解释
尝试所有拆分方案后发现无论如何拆分都无法满足条件。
数据范围
对于所有数据,满足 , 仅由大小写字母和数字构成。