#602. 子串
子串
【题目描述】
给出一个仅由 0, 1 组成的字符串 ,如果它的一个子串 在 中出现了 次,则称 为 的 级别子串。
子串可以重叠。例如 =000,其子串 00 是 的 2 级别子串,因为 00 在 中出现了 2 次。
现在给出三个整数 ,请你输出长度不小于 且不大于 且级别前 大的所有子串。
按照级别由大到小的顺序输出,具体看【输出格式】。
【输入格式】
第一行:包含三个整数 。
接下来是一个字符串 ,可能分成多行输入。
【输出格式】
如果级别数不足 个,则按级别输出所有子串。否则输出级别数前 大的子串。
输出时,按级别从大到小的顺序,首先一行输出级别 ,接下来输出所有级别为 的子串。输出子串时,先输出长度短的,再输出长度长的。长度相同的,按字典序从小到大输出。每行输出 6 个子串(除非当前输出的最后一行不足 6 个),同一行的子串之间以单个空格隔开,每一行的开头和末尾不要有多余的空格。
【样例输入】
2 3 4
000
1100
111000
【样例输出】
5
00
3
11
2
01 10 000 001 011 100
110
1
111
【样例解释】
题目让输出级别前 4 大的子串。
级别最大的为 5 级别子串,该级别子串有 1 个,为 00,共出现了 5 次。
级别第二大的为 3 级别子串,该级别子串有 1 个,为 11,共出现了 3 次。
级别第三大的为 2 级别子串,该级别子串有 7 个,均出现了 2 次。
级别第四大的为 1 级别子串,该级别子串有 1 个,为 111,共出现了 1 次。
【数据范围】
100% 的数据,保证 ,,数据保证 中只包含 0, 1,且 。
相关
在下列比赛中: