30036 - Robot
时间限制 : 1 秒
内存限制 : 128 MB
在不久的将来,机器人要给参加巴尔干半岛信息学奥林匹克竞赛(Balkan Olympiad in Informatics)的选手运送食品。机器人将所有的食品放置在一个方形托盘中。不幸的是,在厨房和选手餐厅之间的路径上充满了各种障碍,因此,机器人不能带任意大小的托盘。请编写一个程序,确定可用于餐饮的托盘的最大可能尺寸。
机器人要行走的路径是平行的墙壁包夹的走廊,走廊只能有 90^\circ 转角。走廊在 x 轴正方向开始,障碍是一些立柱,被表示为点,它们都在包夹走廊的墙壁之间。为了使机器人能够走过这段路径,托盘不能撞到立柱或墙壁——它可能只是边与边“触摸”。机器人和它的托盘只能在 x 或 y 轴的方向上转换移动。假定机器人的尺寸小于托盘的尺寸,机器人完全在托盘之下。
输入
文件 zad1.dat 的第一行是一个整数 m(1 \le m \le 30),表示直线墙的线段的数量。
接下来的 m+1 行是所有转弯点(包括端点)的“上部分”墙体的 x 和 y 坐标。
相似地,接下来的 m+1 行是所有转弯点(包括端点)的“下部分”墙体的 x 和 y 坐标。
然后的一行给出整数 n(0 \le n \le 100),表示障碍物的数量。
接下来的 n 行是障碍物的 x 和 y 坐标。
所有坐标是绝对值小于 32001 的整数。
输出
文件 zad1.res 仅包含一个整数,表示满足本题条件的最大托盘的边长。
样例
输入
3 0 10 20 10 20 -25 -10 -25 0 0 10 0 10 -10 -10 -10 2 15 -15 6 5
输出
5
提示
- 走廊起始方向为 x 轴正方向。
- 机器人只能在 x 或 y 轴方向上移动。
- 托盘为正方形。
- 托盘可以恰好与墙壁或立柱接触(相切)。