#P14733. [ICPC 2022 Seoul R] Two Choreographies
[ICPC 2022 Seoul R] Two Choreographies
Description
Somim 和 Eunjoo 是著名的舞者和非常有才华的编舞家,但他们最近没有赢得比赛。为了今年赢得比赛,他们正试图互相帮助创作新的编舞。实际上,还没有人尝试过流畅地衔接静态动作,而他们将首次尝试!
Somim 和 Eunjoo 想为各自创作一套包含 个静态动作的编舞。他们非常了解如何流畅地衔接静态动作,并得出结论:恰好 个无序静态动作对足以让他们自由表演。动作对 的顺序无关紧要,即如果动作 可以在动作 之后衔接,那么 也可以在 之后衔接。
Somim 和 Eunjoo 想要表演的编舞如下:两套编舞持续时间相同,这意味着每套编舞应包含相同数量的静态动作。每套编舞应以其第一个静态动作结束。更准确地说,两套编舞 和 是由 个不同的静态动作组成的序列, 且 ,其中 且 。为了让观众感到有趣, 和 应该不同,即存在某个 ,使得 中的 不等于 中任何 对应的 。(例如, 和 是不同的,但 和 是相同的。)此外,观众容易感到无聊,所以编舞不能太短,必须包含至少 个不同的静态动作,即 。
为此,给定 个无序动作对 ,这些动作对来自 个不同的静态动作 ,两位舞者可以表演。对于一对 (), 和 中的一个可以在序列中出现在另一个之后;它们之间没有特定的顺序。你需要编写一个程序,找出两套不同的编舞 和 ,长度相同且 ,使得对于任意 ,有 ,,且 ,。
Input Format
你的程序需要从标准输入读取数据。输入的第一行包含一个整数 (),其中 是两位舞者可以表演的静态动作数量。每个静态动作被编号为 到 的整数。接下来的 行表示 个无序静态动作对 。每行包含两个不同的整数,表示 中的一个动作对。注意, 中没有两个对是相同的。
Output Format
你的程序需要向标准输出写入数据。如果你找不到两套静态动作编舞,则输出 。否则,你应该恰好输出三行。第一行包含一个整数 ,表示每套编舞中不同静态动作的数量。第二行包含恰好 个整数,用空格分隔,按顺序表示一套编舞的 个静态动作。最后一个重复的动作应省略。第三行包含恰好 个整数,表示另一套编舞。
4
1 2
1 3
1 4
2 3
2 4
3
1 2 3
1 2 4
5
1 2
1 3
1 4
1 5
2 3
2 5
3 4
3
1 2 3
1 3 4
7
1 2
3 4
5 6
5 2
3 1
6 1
4 2
4 5
2 6
3 6
1 5
4
6 1 5 2
4 2 1 3
Hint
翻译由 DeepSeek V3 完成
京公网安备 11011102002149号