#P1236. 跳跃游戏

跳跃游戏

题目描述

给你一个下标从 0 开始的二进制字符串 s 和两个整数 l 和 r 。l 为跳跃的最小距离,r 为跳跃的最大距离,一开始,你在下标 0 处,且该位置的值一定为 '0' 。当同时满足如下条件时,你可以从下标 i 移动到下标 j 处:

i + l <= j <= min(i + r, s.length() - 1) 且 s[j] == '0'。

(s.length() 为字符串 s 的长度)

输入格式

第 1 行为二进制字符串 s。

第 2 行为两个正整数 l 和 r ,分别表示跳跃的的最小距离和最大距离。

输出格式

若能到达 s.length() - 1 处,输出 true,否则输出 false。

样例1

011010
2 3
true
样例解释

第一步,从下标 0 移动到下标 3 。 第二步,从下标 3 移动到下标 5。

样例2

01101110
2 3
false

数据范围

2 ≤ s.length()≤ 1000000(字符串 s 中只包含'0'和'1',数据保证s[0]的值一定为0);

1 ≤ l ≤ r < s.size()。

提示

编程时可以使用s.length()或 s.size() 获取字符串 s 的长度 ;