#P1174. Contact

Contact

题目描述

天文学家Astro Insky博士在射电望远镜中心工作。最近,她注意到从银河系中心发出一种非常奇特的微波脉冲发射。这是某种外星智慧生命发出的信号吗?还是只是恒星的正常“心跳”?

你需要帮助Insky博士找出真相,方法是提供一个工具来分析她记录的文件中的位模式。Insky博士希望找到长度在AABB之间(含)的模式,这些模式在每天的数据文件中重复出现的次数最多。对于每个长度范围,需要找出前NN个不同的最高频率(即出现次数)。模式的出现可以重叠,且仅考虑至少出现一次的模式。

输入

程序从标准输入读取数据:

  • 第一行:整数AA,表示模式的最小长度。
  • 第二行:整数BB,表示模式的最大长度。
  • 第三行:整数NN,表示需要获取的不同频率的数量。
  • 第四行:由0和1组成的序列,以字符2结尾。

约束条件

  • 输入数据最多2兆字节。
  • 参数AABBNN满足:0<N200 < N \leq 200<AB120 < A \leq B \leq 12

输出

程序向标准输出写入结果,最多NN行,按模式频率降序列出前NN个最高频率及其对应的模式。每行格式为:

frequency pattern pattern ... pattern  

其中:

  • frequency是模式的出现次数。
  • 同一行的模式按长度降序排列;长度相同的模式按数值逆序(即从大到小的二进制数值)排列。
    若不同频率的数量少于NN,则输出实际行数。

输入数据 1

2  
4  
10  
010100100100010001111011000010100110011110000100100111100100000002  

输出数据 1

23 00  
15 10 01  
12 100  
11 001 000 11  
10 010  
8 0100  
7 1001 0010  
6 0000 111  
5 1000 110 011  
4 1100 0011 0001