#P11147. 「SFMOI Round I」Strange Dino Game
「SFMOI Round I」Strange Dino Game
Description
我们将问题放在二维平面上描述。我们给出一些游戏要素:
- 玩家:Dino。可以将其视为一个点。
- 障碍物:
- 仙人掌:形如 的线段。
- 飞鸟:形如 的线段。
- 游戏结束:Dino 与障碍物上的任意一点(包括线段端点)重合时,游戏结束。
- 起点:原点 。
- 终点:使游戏结束的位置,位于第一象限(或 轴上)。可能不存在(即游戏能无限进行)。
- 游戏分数:终点的 坐标。终点不存在时定义为无穷大。
- 跳跃参数:正整数 。
- 步行:Dino 在 轴上沿着 轴正方向移动。
- 跳跃:当 Dino 在 轴上时,可以进行一次跳跃。以起跳点为原点,跳跃轨迹为$$f(x) = \begin{cases}
\displaystyle \frac{h}{d}x & x\in [0, d) \\
\displaystyle-\frac{h}{d}x+2h & x\in [d, 2d) \\
\end{cases}$$
- 需要注意的是,由上述定义可以推出:在一次跳跃后落地的瞬间进行第二次跳跃是合法的。
- 需要注意的是,可以在任意实数点(只要在 轴上)处开始跳跃。也就是说,跳跃不一定在整点开始。
下图展示了 时的一次跳跃。

在一局游戏中,Dino 从起点出发向 轴正方向移动。目标是最大化得分,即尽量避开障碍物,使自己移动的距离尽量长。
每一时刻,Dino 只能做一件事:步行,或跳跃。当且仅当 Dino 在 轴上时可以进行跳跃。
形式化地说,Dino 的行为可以被描述为一个长度为 的实数二元组序列 ,满足:
- ;
- ;
- , ;
- ;(二段跳是不允许的)
- , 。
当 时,我们定义 Dino 在 进入步行状态,否则定义 Dino 在 进入跳跃状态。
当 Dino 与障碍物重合时,游戏结束。此时 Dino 在的位置为终点,得分为终点的 坐标。
已知有 只飞鸟和 个仙人掌,求出 Dino 的最大得分。特别地,得分可以为无穷大。
可参阅样例解释的图片。
Input Format
本题单个测试点内有多组测试数据。
第一行,一个正整数 ,代表游戏次数。
接下来依次描述 组数据:
- 每组数据第一行,两个正整数 ,表示 dino 的跳跃参数。
- 每组数据第二行,两个整数 ,表示飞鸟个数与仙人掌个数。
- 接下来 行,每行三个正整数 ,描述第 只飞鸟。
- 接下来 行,每行两个正整数 ,描述第 株仙人掌。
Output Format
对于每组数据输出一行,表示得分的最大值。
特别地,如果得分为正无穷,输出 Dino!。
2
1 3
1 2
1 2 1
2 2
3 2
1000000000 1000000000
1 0
114514 1919 810
3
Dino!
1
8 16
8 3
5 18 13
4 20 10
6 13 1
2 17 11
1 11 6
5 1 1
2 6 3
1 16 1
7 20
7 13
3 2
6
1
5 5
1 2
5 5 1
6 1
16 3
16
1
5 5
1 4
19 10 8
4 1
15 1
22 2
20 1
22
Hint
样例 解释:
- 对于第 组数据,dino 无论如何也无法跳过连续的两株高为 的仙人掌,答案即为第二株仙人掌的 轴坐标。
- 对于第 组数据,dino 可以在原点直接起跳跳过唯一的一只鸟,也完全可以不起跳从飞鸟下方走过。
其中第一组数据的解释如下所示,红线代表飞鸟,绿线代表仙人掌,粉线代表 Dino 的轨迹。

数据范围
本题采用捆绑测试。
- Subtask 1(5 pts):;
- Subtask 2(5 pts):;
- Subtask 3(20 pts):;
- Subtask 4(20 pts):;
- Subtask 5(40 pts):无特殊限制。
- Subtask 6(10 pts):无特殊限制。
对于 的数据,保证:
- ;
- ;
- ;
- 。
京公网安备 11011102002149号