CF512E Fox And Polygon

题目描述

狐狸 Ciel 设计了一种叫“多边形”的智力游戏!它是通过把一个 $n$ 边形分成三角形来进行的。目标是通过一些复杂的规则把一种分法转换成另一种分法。 $n$ 边形的一种“分法”是 $n - 3$ 条不相交的对角线构成的集合。 每一步可以选择一条对角线(但不能是 $n$ 边形的边)然后翻转这条对角线。 对于一条对角线 AB,假设它的两边分别是三角形 ABC 和三角形 ABD。“翻转”对角线 AB,就是删除对角线 AB,并添加对角线 CD。 Ciel 证明了对于任何一个起点和终点都有合法的翻转方式,她想让你对于任何一个 $n \leqslant 1000$ 的局面,在 $20000$ 次操作内完成。

输入格式

第一行是一个整数 $n$,表示多边形的边数。 接下来 $n - 3$ 行, 每一行有两个正整数 $a_i,b_i$,表示开始有对角线 $a_i-b_i$ 被连接。 接下来 $n - 3$ 行, 每一行两个正整数 $A_i,B_i$,表示目标中对角线 $A_i-B_i$ 被连接。 输入保证合法。

输出格式

首先输出一个整数 $k$,表示需要 $k$ 次翻转。 接下来 $k$ 行,每一行两个整数 $a_i,b_i$,表示第 $i$ 次翻转对角线 $a_i-b_i$,顺序任意。 如果有多重操作方法,只需输出其中一种。

说明/提示

Sample test 2 is discussed above and shown on the picture.