#2187. 蛙跳训练
蛙跳训练
Background
Special for beginners, ^_^
Description
小明由于立定跳远成绩不及格,被体育老师抓去每天下午放学后训练蛙跳。
体育老师在地上画了 个方格,编号从 0 到 ,显然 0 是起点, 是终点。
有些格子上站着惨无人道加(围)油(观)的同学和老师,所以不能跳到这些格子上。用 1 表示。其它格子为 0 。
由于这个体育老师是大学里打过ICPC,因为一道题数组越界而痛失金牌,从此跟越界结下了梁子。也就是说,如果小明最后一次跳跃,直接越过了终点,那么这次训练就得重来。
假设小明每次跳跃的距离为不超过 的正整数,再给出一个二进制串表示每个格子的空闲情况,问小明想用最少的次数完成蛙跳训练,那么每次要跳几格。如果有多组解,输出最小字典序。如果无法完成则输出 -1 。
保证起点和终点都是字符 0 。
Format
Input
第一行给出两个正整数 和 , 分别表示格子为从 0 到 以及小明每次可以跳跃的最大距离。 和 都不超过 。
第二行给出一个二进制字符串表示每个格子的占用情况。
Output
完成蛙跳训练次数最少时,每次要跳几格。如果有多组解,输出最小字典序。如果无法完成则输出 -1 。
Samples
8 3
000100010
2 3 3
Limitation
1s, 1024KiB for each test case.