#P16293. [Ucpc2021]Distance Optimizing Triangulation
[Ucpc2021]Distance Optimizing Triangulation
题目描述
Droopland 是一个具有 个顶点的凸多边形王国。每个顶点上有一座房屋,按顺时针方向编号为 。
多边形边界上的相邻房屋之间已经修建了双向道路:对于 ,房屋 与房屋 相连,同时房屋 与房屋 相连。
王国中有 位居民,编号为 。每位居民恰好拥有两座房屋,并且每座房屋都有且仅有一位主人。设第 位居民拥有的房屋编号为 。
你需要再修建恰好 条双向道路,并满足:
- 每条道路是一条连接两座不同房屋的线段;
- 任意一对房屋之间至多有一条道路,包括原有边界道路;
- 任意两条道路除公共端点外不能相交。
设 为从房屋 到房屋 最少需要经过的道路条数。请构造道路,使
最小。
输入格式
第一行包含整数 。
接下来 行,第 行包含两个整数 ,表示第 位居民拥有的两座房屋。
数据范围:
所有 个房屋编号在这些数对中各出现恰好一次。
输出格式
第一行输出最小的距离总和。
接下来输出 行,每行两个整数 ,表示新建一条连接房屋 与房屋 的道路。
若存在多种最优方案,输出任意一种即可。
样例
输入
3
1 3
2 5
6 4
输出
5
1 3
1 4
6 4
一种合法的最优道路布局如下:

在该方案中,,,,总和为 。