CF263C Circle of Numbers 题目翻译
题目描述
有一天,Vasya走到黑板前,把 \(1\) 到 \(n\) 之间的不同整数按一定的顺序画成一个圆圈。然后他画弧来连接整数对 \((a,b)\ (a≠b)\),它们要么在圆相邻,要么有数字 \(c\),使得 \(a\) 和 \(c\) 相邻,并且 \(b\) 和 \(c\) 相邻。易得出,瓦西亚最后画了 \(2n\) 条弧。
例如,如果将数字 \(1,2,3,4,5\) 以顺时针方向写入圆中,则弧将连接整数对 \((1,2)\),\((2,3)\),\((3,4)\),\((4,5)\),\((5,1)\),\((1,3)\),\((2,4)\),\((3,5)\),\((4,1)\) 和 \((5,2)\)。
后来,黑板上的数字被抹去了。但 Vasya 发现了一张纸,上面写着 \(2n\) 个整数对,它们对应着原来黑板上的每个圆弧相联的数对。Vasya 要求您通过这些数对查找圆圈中原有的数字顺序。
输入格式
输入的第一行包含一个整数 $n ( 5 \le n \le 10^5 ) $。这表明,黑板上写了多少个数字。接下来的2.n行包含整数对 \(a_i,b_i\ ( 1 \le a_i,b_i \le n \ , a_i \not = b_i )\) ——由弧连接的数字。
可以保证输入中不会出现由圆弧连接的一对整数超过一次。
数字对和其中的数字按任意顺序给出。
输出格式
输出从 \(1\) 到 \(n\) 的 \(n\) 个不同整数的任意合适序列,若无法根据题意将 \(1\) 到 \(n\) 之间的数字放在圆圈上,则输出 \("- \! 1"\) (不包括引号)。
如果有多个解决方案,则允许输出其中任何一个。具体来说,先写哪个数字来描述顺序并不重要。无论你是顺时针还是逆时针写数字,这也无关紧要。
2022-01-12 14:22 撰写于洛谷,2025-08-25 17:03 迁移至博客园。
本文采用 「CC-BY-NC 4.0」 创作共享协议,转载请注明作者及出处,禁止商业使用。
作者:Jerrycyx,原文链接:https://www.cnblogs.com/jerrycyx/p/19057352

浙公网安备 33010602011771号