#6494. B:跳跃 (Jump)
B:跳跃 (Jump)
题目 B:跳跃 (Jump)
| 属性 | 规格 |
|---|---|
| 时间限制 | C++: 1.5s, Java: 3s, Python: 15s |
| 内存限制 | 256 MB |
| 最大分值 | 100 分 |
题目描述
青蛙 Hermit 喜欢在平台之间跳跃。他想知道从某个平台出发,是否可以通过一系列的行走和跳跃到达另一个平台。
- 平台定义:平台是一条水平线段,其端点位于整数坐标上。
- 移动规则:
- 行走:Hermit 可以在当前平台上任意移动。
- 跳跃/下落:Hermit 可以从当前平台向上跳跃最多 个单位到达新平台,或者向下坠落最多 个单位到达新平台(再高会受伤)。
- 接触要求:跳跃或坠落不能从平台的边缘进行,两个平台之间必须有非零的水平重叠(即重叠部分必须是一个长度大于 0 的线段,仅端点接触不算)。
给定平台列表和若干查询,判断 Hermit 能否从平台 到达平台 。
输入格式
- 第一行:三个整数 (平台数,)、(查询数,)和 (跳跃高度,)。
- 接下来的 行:每行三个整数 ,分别表示第 个平台左端点的坐标 和长度 。右端点坐标为 。保证任意两个平台不重叠且不直接相邻。
- 接下来的 行:每行两个整数 和 ,表示一次查询。
输出格式
- 对于每个查询,如果可以到达输出
YES,否则输出NO。
样例输入与输出
输入 1
3 2 3
2 5 3
4 4 2
0 1 4
1 2
3 2
输出 1
YES
NO