P0884

[Usaco2009 Hol]Transmission Delay 传输谍延时

[Usaco2009 Hol]Transmission Delay 传输谍延时

约翰站在屋顶上唱歌,与奶牛们交流。然而,奶牛们的听觉十分奇特:她们只能将约翰的歌声听成由 00 和 11 组成的信息串。

约翰发出的信息串长度为 NN,奶牛听到的信息串长度同样为 NN,其中 00 和 11 的数量均不会发生变化。但是,部分字符可能偏离原来的位置,这种现象称为“传输延时”。

每个字符偏离原位置的距离不超过 DD,即该字符原位置与传输后位置之差的绝对值不大于 DD。例如,对于字符串 01100110,当 D=1D=1 时,经过传输延时后可能得到 01010101、01100110、10011001 和 10101010,共 44 个不同的字符串。

给定约翰发出的 0101 串以及整数 KK,请计算经过传输延时后可能得到的不同 0101 串数量,并输出这些字符串按字典序从小到大排列后的第 KK 个。

输入格式

第一行输入三个整数 NN、DD 和 KK。

第二行输入一个长度为 NN、仅由字符 00 和 11 组成的字符串。

保证 KK 不超过经过传输延时后可得到的不同字符串数量。

输出格式

第一行输出可得到的不同 0101 串数量对 10810^8 取模后的结果。

第二行输出所有可得到的字符串按字典序从小到大排列后的第 KK 个字符串。

样例输入

4 1 3
0110

样例输出

4
1001

数据范围

  • 1≤N≤20001\le N\le 2000;
  • 0≤D<N0\le D<N;
  • 1≤K≤1081\le K\le 10^8;
  • 输入字符串的长度为 NN,且仅包含字符 00 和 11;
  • 保证 KK 不超过可得到的不同字符串数量。

来源与许可

本题为 USACO 2009 Holiday 试题「Transmission Delay」,题面与测试数据整理自 BZOJ。

样例 1

输入

4 1 3
0110

输出

4
1001