#P12492. [NAC 2025] Geometry Rush
[NAC 2025] Geometry Rush
题目描述
你正在玩今夏最热门的节奏动作平台游戏——Geometry Rush!游戏在一个二维平面上进行。你的角色从 出发,每秒必须以 度角向上或向下移动,即从位置 移动到 或 。你可以在每秒改变移动方向,但不能在移动过程中调整。游戏中有从天花板和地面突出的障碍物需要躲避。若在 秒后到达终点线 且未触碰任何障碍物,则获胜。
游戏区域的垂直范围为 到 。障碍物由两条多边形曲线组成:一条从 延伸到 表示变化高度的天花板,其顶点的 坐标非递减, 坐标在 范围内;另一条从 延伸到 表示地面,其顶点满足类似约束。
你的角色被视为一个无限小的点:从 移动到 时,若移动路径与任一障碍物相交(包括恰好接触多边形曲线)则游戏失败。
为了增加挑战性,你开始设定特殊目标:无论从终点线 的哪个位置穿过均可获胜,但求能穿过的最大 值和最小 值分别是多少?
输入格式
第一行包含四个整数 、、 和 (;),分别表示天花板和地面多边形曲线的顶点数,以及游戏区域的宽度和高度。
接下来 行每行两个整数 和 (,),按从左到右顺序给出天花板曲线的顶点坐标。保证第一个顶点为 ,最后一个为 。
随后 行以相同格式给出地面曲线的顶点坐标,首尾顶点分别为 和 。
对于两条曲线: 坐标非递减,顶点互不重复,曲线不自交。两条曲线均不经过 (若曲线相交则游戏无法获胜)。
输出格式
若游戏无法获胜,输出 。否则输出两个整数:可到达终点线 的最小和最大 值。
输入输出样例 #1
输入 #1
4 4 5 5
0 5
0 2
5 2
5 5
0 -5
0 -2
5 -2
5 -5
输出 #1
-1 1
输入输出样例 #2
输入 #2
4 4 6 5
0 5
0 2
6 2
6 5
0 -5
0 -2
6 -2
6 -5
输出 #2
0 0
输入输出样例 #3
输入 #3
3 3 7 5
0 5
5 -1
7 5
0 -5
2 1
7 -5
输出 #3
impossible
输入输出样例 #4
输入 #4
4 3 5 5
0 5
0 2
5 2
5 5
0 -5
3 -1
5 -5
输出 #4
-1 1