禁区跳跃
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
你正在跨越禁区。禁区可以视为一条数轴,你初始位于 点,目标是 点。你每次跳跃都可以向右跳跃 格或 格,不过禁区中存在 处危险地带,你每次跳跃的终点不能落在危险地带中。
由于跳跃非常消耗体力,所以你想知道最少通过多少次跳跃就能跳到 点?或者报告这不可能。
输入格式
第一行包含两个整数 () — 终点的位置和危险地带的数量。
第二行包含 个整数 () — 禁区的具体位置,保证 两两不同。
输出格式
一个整数, 表示最少的跳跃次数;如果终点无法到达,则输出 。
样例
5 2
3 4
3
样例解释
数轴分部形如:
. . . # # .
0 1 2 3 4 5
只能向右连跳两格,然后跳三格到达 号点。
提示
题目范围很大,思考一下递归超过空间限制该怎么优化。