CF263C.Circle of Numbers

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

One day Vasya came up to the blackboard and wrote out n distinct integers from 1 to n in some order in a circle. Then he drew arcs to join the pairs of integers (a, b) (a ≠ b), that are either each other's immediate neighbors in the circle, or there is number c, such that a and с are immediate neighbors, and b and c are immediate neighbors. As you can easily deduce, in the end Vasya drew 2·n arcs.

For example, if the numbers are written in the circle in the order 1, 2, 3, 4, 5 (in the clockwise direction), then the arcs will join pairs of integers (1, 2), (2, 3), (3, 4), (4, 5), (5, 1), (1, 3), (2, 4), (3, 5), (4, 1) and (5, 2).

Much time has passed ever since, the numbers we wiped off the blackboard long ago, but recently Vasya has found a piece of paper with 2·n written pairs of integers that were joined with the arcs on the board. Vasya asks you to find the order of numbers in the circle by these pairs.

一天,瓦西娅走到黑板前,以某种顺序将 11 到 nn 的 nn 个互不相同的整数排成一个圆圈。接着,他画出若干条弧线,连接所有满足以下条件的整数对 (a, b)(a,\,b)(其中 a≠ba \ne b):

  • aa 与 bb 在圆圈中互为相邻(即彼此紧挨着),或者
  • 存在某个数 cc,使得 aa 与 cc 相邻,且 bb 与 cc 也相邻。

容易看出,最终瓦西娅共画出了 2⋅n2\cdot n 条弧线。

例如,若圆圈中数字按顺时针方向依次为 1, 2, 3, 4, 51,\,2,\,3,\,4,\,5,则这些弧线所连接的整数对为:
(1, 2), (2, 3), (3, 4), (4, 5), (5, 1), (1, 3), (2, 4), (3, 5), (4, 1)(1,\,2),\ (2,\,3),\ (3,\,4),\ (4,\,5),\ (5,\,1),\ (1,\,3),\ (2,\,4),\ (3,\,5),\ (4,\,1) 和 (5, 2)(5,\,2)。

自那以后已过去很久,黑板上的数字早已被擦去;但最近,瓦西娅发现了一张纸,上面写着当初黑板上画出的全部 2⋅n2\cdot n 对由弧线连接的整数。瓦西娅请你根据这些数对,还原出圆圈中数字的原始排列顺序。

输入格式

The first line of the input contains a single integer n (5 ≤ n ≤ 105) that shows, how many numbers were written on the board. Next 2·n lines contain pairs of integers a__i, b__i (1 ≤ a__i, b__i ≤ n, a__i ≠ b__i) — the numbers that were connected by the arcs.

It is guaranteed that no pair of integers, connected by a arc, occurs in the input more than once. The pairs of numbers and the numbers in the pairs are given in the arbitrary order.

输入的第一行包含一个整数 nn(5≤n≤1055 \leq n \leq 10^5),表示写在黑板上的数字个数。接下来的 2⋅n2 \cdot n 行中,每行包含一对整数 ai,bia_i, b_i(1≤ai,bi≤n1 \leq a_i, b_i \leq n,且 ai≠bia_i \neq b_i),表示由弧线连接的两个数字。

保证输入中任意一对由弧线连接的整数至多出现一次。这些数对以及每个数对中的数字均以任意顺序给出。

输出格式

If Vasya made a mistake somewhere and there isn't any way to place numbers from 1 to n on the circle according to the statement, then print a single number "-1" (without the quotes). Otherwise, print any suitable sequence of n distinct integers from 1 to n.

If there are multiple solutions, you are allowed to print any of them. Specifically, it doesn't matter which number you write first to describe the sequence of the order. It also doesn't matter whether you write out the numbers in the clockwise or counter-clockwise direction.

如果瓦西娅在某处出错了,导致无法按照题目要求将 11 到 nn 的数字放置在圆圈上,则输出单个数字 -1(不带引号)。否则,输出任意一个由 11 到 nn 中 nn 个互不相同的整数组成的合适序列。

若存在多个解,允许输出其中任意一个。具体而言,序列中第一个写出的数字是哪一个并不重要;同样,按顺时针方向还是逆时针方向写出数字也无关紧要。

输入输出样例

  • 输入#1

    5
    1 2
    2 3
    3 4
    4 5
    5 1
    1 3
    2 4
    3 5
    4 1
    5 2

    输出#1

    1 2 3 4 5
  • 输入#2

    6
    5 6
    4 3
    5 3
    2 4
    6 1
    3 1
    6 2
    2 5
    1 4
    3 6
    1 2
    4 5

    输出#2

    1 2 4 5 3 6

输入解题思路,AI测评打分。不知道怎么写?

首页