回家的路
题目背景
傍晚时分,乐柠兔在森林小湖边采摘花瓣。
天色渐暗,它想尽快回到湖中央的睡莲岛。
湖面上漂浮着一排编号为 到 的睡莲叶(从左到右依次排列)。
- 乐柠兔现在站在编号为 的叶子上;
- 它的家在编号为 的叶子上;
- 但它只能跳到有百合花的叶子上(有花才能稳稳落脚)。
题目描述
给定一个长度为 的字符串(由 '0' 和 '1' 组成),表示湖面上每片叶子的情况:
'1'表示这片叶子上有百合花,可以落脚;'0'表示光秃秃的叶子,无法落脚。
乐柠兔每次最多可以向右跳 个单位距离。
也就是说,它可以从位置 跳到 ,其中 但前提是落点上有百合花。
已知编号为 和 的叶子都有百合花。
请计算—— 乐柠兔从 号叶子跳到 号叶子所需的最少跳跃次数。
若它无法到达,请输出 -1。
输入格式
第一行包含两个正整数:
第二行包含一个长度为 的无空格字符串,仅由 '0' 和 '1' 组成。
第 个字符表示第 个位置上是否有百合花。
保证:
- 第一个位置(编号 1)和最后一个位置(编号 n)上均有百合花。
输出格式
输出一个整数,表示最少跳跃次数。
若无法到达,输出 -1。
输入样例 1
8 4
10010101
输出样例 1
2
样例说明 1
乐柠兔可以:
- 第一次从位置 跳到位置 ;
- 第二次从位置 跳到位置 。共跳 次即可到达终点。
输入样例 2
4 2
1001
输出样例 2
-1
样例说明 2
乐柠兔无法到达终点,因为它最远只能跳 2 格,但从第 1 格到第 4 格至少需要跳 3 格。
输入样例 3
8 4
11100101
输出样例 3
3
输入样例 4
12 3
101111100101
输出样例 4
4
数据范围与提示
- 输入保证第 个和第 个字符均为
'1'
相关
在下列比赛中:
京公网安备11010802045784号