A58 | 过河
来源NOIP提高组 / 2005
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:$0,1,\cdots,L$(其中 $L$ 是桥的长度)。坐标为 $0$ 的点表示桥的起点,坐标为 $L$ 的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是 $S$ 到 $T$ 之间的任意正整数(包括 $S,T$)。当青蛙跳到或跳过坐标为 $L$ 的点时,就算青蛙已经跳出了独木桥。
题目给出独木桥的长度 $L$,青蛙跳跃的距离范围 $S,T$,桥上石子的位置。你的任务是确定青蛙要想过河,最少需要踩到的石子数。
题目给出独木桥的长度 $L$,青蛙跳跃的距离范围 $S,T$,桥上石子的位置。你的任务是确定青蛙要想过河,最少需要踩到的石子数。
输入格式
输入共三行,
- 第一行有 $1$ 个正整数 $L$,表示独木桥的长度。
- 第二行有 $3$ 个正整数 $S,T,M$,分别表示青蛙一次跳跃的最小距离,最大距离及桥上石子的个数。
- 第三行有 $M$ 个不同的正整数分别表示这 $M$ 个石子在数轴上的位置(数据保证桥的起点和终点处没有石子)。所有相邻的整数之间用一个空格隔开。
- 第一行有 $1$ 个正整数 $L$,表示独木桥的长度。
- 第二行有 $3$ 个正整数 $S,T,M$,分别表示青蛙一次跳跃的最小距离,最大距离及桥上石子的个数。
- 第三行有 $M$ 个不同的正整数分别表示这 $M$ 个石子在数轴上的位置(数据保证桥的起点和终点处没有石子)。所有相邻的整数之间用一个空格隔开。
输出格式
一个整数,表示青蛙过河最少需要踩到的石子数。
输入输出样例
输入 #1
10 2 3 5 2 3 5 6 7
输出 #1
2
**【数据范围】**
- 对于 $30\%$ 的数据,$1\le L \le 10^4$;
- 对于 $100\%$ 的数据,$1\le L \le 10^9$,$1\le S\le T\le10$,$1\le M\le100$。
**【题目来源】**
NOIP 2005 提高组第二题
- 对于 $30\%$ 的数据,$1\le L \le 10^4$;
- 对于 $100\%$ 的数据,$1\le L \le 10^9$,$1\le S\le T\le10$,$1\le M\le100$。
**【题目来源】**
NOIP 2005 提高组第二题
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?