A6394. 「BalticOI 2014 Day2」界限划定
编程题
省选/NOI-
知识点
题目描述
**本题译自 [BalticOI 2014](http://www.boi2014.lmio.lt/tasks.html) Day2 T1「[Demarcation](http://www.boi2014.lmio.lt/tasks/demarcation-en.pdf)」**
多年以来,Bytopia 岛都被公正的拜亚提国王统治。
但是在国王突然去世之后,他的两个儿子—— Biteon 和 Byteon 都希望自己能成为新国王。
因此,他们决定把整个岛分为两个行省去独立管理。
在一张矩形的地图上, Bytopia 岛是一个具有 $N$ 个顶点的多边形。
多边形的每一条边都平行于地图的一边,并且每两条相邻的边互相垂直。
除相邻边的公共端点之外,多边形的任意两条边互不相交。
Biteon 和 Byteon 希望使用一条在多边形上的直线,把整个图形划分成完全相同的两部分。
当且仅当其中一个图形通过对称,平移,旋转能与另一个多边形重合时,两个多边形全等。
保证多边形的顶点坐标和分割线的端点坐标是整数。
国王的儿子们要求你验证是否存在这样一种分割方案。
给出岛屿的形状,验证它是否可以被一个水平或垂直的线段分割成两个全等的部分。
如果可以的话,找出这样一条线段。
多年以来,Bytopia 岛都被公正的拜亚提国王统治。
但是在国王突然去世之后,他的两个儿子—— Biteon 和 Byteon 都希望自己能成为新国王。
因此,他们决定把整个岛分为两个行省去独立管理。
在一张矩形的地图上, Bytopia 岛是一个具有 $N$ 个顶点的多边形。
多边形的每一条边都平行于地图的一边,并且每两条相邻的边互相垂直。
除相邻边的公共端点之外,多边形的任意两条边互不相交。
Biteon 和 Byteon 希望使用一条在多边形上的直线,把整个图形划分成完全相同的两部分。
当且仅当其中一个图形通过对称,平移,旋转能与另一个多边形重合时,两个多边形全等。
保证多边形的顶点坐标和分割线的端点坐标是整数。
国王的儿子们要求你验证是否存在这样一种分割方案。
给出岛屿的形状,验证它是否可以被一个水平或垂直的线段分割成两个全等的部分。
如果可以的话,找出这样一条线段。
输入格式
第一行一个正整数 $N$,表示多边形的顶点数.接下来的 $N$ 行,每行一对正整数 $(X_i,Y_i)$,表示第 $i$ 个顶点的坐标。
顶点是按照顺序给出的,也即 $ (X_1, Y_1) − (X_2, Y_2),(X_2,Y_2) − (X_3, Y_3)\dots(X_{N−1}, Y_{N−1}) − (X_N , Y_N)$ 和 $(X_N , Y_N ) − (X_1, Y_1)$ 是多边形的所有边。
除此之外,任意两条相邻的线段都互相垂直。
顶点是按照顺序给出的,也即 $ (X_1, Y_1) − (X_2, Y_2),(X_2,Y_2) − (X_3, Y_3)\dots(X_{N−1}, Y_{N−1}) − (X_N , Y_N)$ 和 $(X_N , Y_N ) − (X_1, Y_1)$ 是多边形的所有边。
除此之外,任意两条相邻的线段都互相垂直。
输出格式
输出仅一行。如果存在一种方案,使得岛屿能被一条端点为 $(x_1,y_1)$ 和 $(x_2,y_2)$ 的水平或垂直的线段划分为全等的两个部分,那么输出 $4$ 个用空格分开的整数 $x_1,y_1,x_2$ 和 $y_2$。要求 $x_1 = x_2$ 或 $y_1 = y_2$。
这条线段必须在多边形内部,且只有其端点才能接触边界。如果找不到合适的划分方案,则输出
这条线段必须在多边形内部,且只有其端点才能接触边界。如果找不到合适的划分方案,则输出
NO。输入输出样例
输入 #1
10 0 0 1 0 1 1 3 1 3 5 2 5 2 3 1 3 1 2 0 2
输出 #1
1 2 3 2
输入 #2
6 0 0 1 0 1 1 2 1 2 2 0 2
输出 #2
NO
说明/提示
|子任务|分数|数据范围|附加限制|
|:-:|:--:|:---------------:|:------------------------------:|
|$1$|$12$| $4\le N \le10^5$ |所有分割多边形的水平或垂直线都恰好将其分为两部分。|
|$2$|$15$| $4\le N \le200$ |无|
|$3$|$23$| $4\le N \le2000$ |无|
|$4$|$50$| $4\le N \le10^5$ |无|
|:-:|:--:|:---------------:|:------------------------------:|
|$1$|$12$| $4\le N \le10^5$ |所有分割多边形的水平或垂直线都恰好将其分为两部分。|
|$2$|$15$| $4\le N \le200$ |无|
|$3$|$23$| $4\le N \le2000$ |无|
|$4$|$50$| $4\le N \le10^5$ |无|