SP7100 BACKTPOL - Back To The Polygon

题目描述

一个简单多边形是指没有自重叠现象的多边形。简单多边形的对角线是连接两个非相邻顶点的线段。对于一个有 $N$ 边的简单多边形,三角剖分是指在多边形内部加入恰好 $N-3$ 条对角线,确保这些对角线不相互交叉(除可能在端点相交外)。这样一来,整个多边形被划分为 $N-2$ 个三角形,这些三角形互不重叠,仅在边界上相接。 在这个问题中,我们已经给出了一个简单多边形的三角剖分,也就是多边形被分割成的若干三角形。你的任务是从这些三角形中重新构建出原始的多边形。

输入格式

输入包含若干个测试用例,每个测试用例由多行构成。每个测试用例的第一行包含一个整数 $N$,表示多边形的顶点数($3 < N \leq 1000$)。接下来的 $N-2$ 行中,每行描述一个三角形,它分成六个整数 $X1, Y1, X2, Y2, X3, Y3$。其中,$Xi$ 和 $Yi$ 是该三角形第 $i$ 个顶点的坐标(范围在 $-1000$ 到 $1000$ 之间)。三角形及顶点的顺序是任意的。输入的最后一行是一个独立的 $-1$,该行不应作为测试用例处理。

输出格式

对于每个测试用例,输出一行,其中包含 $2N$ 个整数,表示原始多边形顶点在平面上的坐标。这些坐标要按顺时针顺序输出。为了确保结果唯一,首个坐标应是 $X$ 最小的顶点;如果有多个这样的顶点,则选取 $Y$ 坐标最小的那一个。 **本翻译由 AI 自动生成**