#P12492. [NAC 2025] Geometry Rush

[NAC 2025] Geometry Rush

题目描述

你正在玩今夏最热门的节奏动作平台游戏——Geometry Rush!游戏在一个二维平面上进行。你的角色从 (0,0)(0,0) 出发,每秒必须以 4545 度角向上或向下移动,即从位置 (x,y)(x,y) 移动到 (x+1,y+1)(x+1,y+1)(x+1,y1)(x+1,y-1)。你可以在每秒改变移动方向,但不能在移动过程中调整。游戏中有从天花板和地面突出的障碍物需要躲避。若在 ww 秒后到达终点线 x=wx=w 且未触碰任何障碍物,则获胜。

游戏区域的垂直范围为 y=hy=-hy=hy=h。障碍物由两条多边形曲线组成:一条从 (0,h)(0,h) 延伸到 (w,h)(w,h) 表示变化高度的天花板,其顶点的 xx 坐标非递减,yy 坐标在 [h,h][-h,h] 范围内;另一条从 (0,h)(0,-h) 延伸到 (w,h)(w,-h) 表示地面,其顶点满足类似约束。

你的角色被视为一个无限小的点:从 (x,y)(x,y) 移动到 (x+1,y±1)(x+1,y \pm 1) 时,若移动路径与任一障碍物相交(包括恰好接触多边形曲线)则游戏失败。

为了增加挑战性,你开始设定特殊目标:无论从终点线 x=wx=w 的哪个位置穿过均可获胜,但求能穿过的最大 yy 值和最小 yy 值分别是多少?

输入格式

第一行包含四个整数 nnmmwwhh3n,m1053 \leq n, m \leq 10^{5}3w,h1053 \leq w, h \leq 10^{5}),分别表示天花板和地面多边形曲线的顶点数,以及游戏区域的宽度和高度。

接下来 nn 行每行两个整数 xxyy0xw0 \leq x \leq whyh-h \leq y \leq h),按从左到右顺序给出天花板曲线的顶点坐标。保证第一个顶点为 (0,h)(0,h),最后一个为 (w,h)(w,h)

随后 mm 行以相同格式给出地面曲线的顶点坐标,首尾顶点分别为 (0,h)(0,-h)(w,h)(w,-h)

对于两条曲线:xx 坐标非递减,顶点互不重复,曲线不自交。两条曲线均不经过 (0,0)(0,0)(若曲线相交则游戏无法获胜)。

输出格式

若游戏无法获胜,输出 impossible\texttt{impossible}。否则输出两个整数:可到达终点线 x=wx=w 的最小和最大 yy 值。

输入输出样例 #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