#HK4954. 「EGOI2023」狂欢节总管

「EGOI2023」狂欢节总管

题目描述

题目译自 European Girls' Olympiad in Informatics 2023 Day2 T1. Carnival Generals

每隔四年,隆德的学生们齐聚一堂,举办隆德狂欢节。几天时间里,公园里搭满了帐篷,各种节庆活动热闹非凡。负责让这一切顺利进行的是一位狂欢节总指挥。

历史上共举办了 NN 次狂欢节,每届由一位不同的总指挥负责,总指挥按时间顺序编号为 00N1N-1。每位总指挥 ii 都会对他们的前任(即总指挥 0,1,,i10, 1, \ldots, i-1)进行评价,发布一个从最好到最差的排名。

下一届隆德狂欢节将在 20262026 年举行。在此之前,所有历届总指挥聚在一起拍一张合影。然而,如果总指挥 iijj (i<j)(i < j) 站在一起,而 iijj 的排名中严格位于后半部分,场面会显得尴尬。

例如:

  • 如果总指挥 44 的排名为 3 2 1 0,则 44 可以站在 3322 旁边,但不能站在 1100 旁边。
  • 如果总指挥 55 的排名为 4 3 2 1 0,则 55 可以站在 4,34, 322 旁边,但不能站在 1100 旁边。

注意,如果一位总指挥恰好在另一位总指挥的排名中间位置,站在一起是没有问题的。

以下图示展示了样例 1 的情况:总指挥 55 站在 2233 旁边,总指挥 44 仅站在 22 旁边。

carnival-sample.png

你将获得总指挥们发布的排名。你的任务是将总指挥 0,1,,N10, 1, \ldots, N-1 排列成一行,确保相邻的总指挥 iijj (i<j)(i < j) 满足:ii 严格位于 jj 排名的后半部分。

输入格式

第一行包含一个正整数 NN,表示总指挥的数量。

接下来的 N1N-1 行包含排名。第 11 行是总指挥 11 的排名,第 22 行是总指挥 22 的排名,依此类推,直到总指挥 N1N-1。总指挥 00 没有排名,因为他没有前任可评价。

总指挥 ii 的排名是一个包含 ii 个整数的列表 pi,0,pi,1,,pi,i1p_{i,0}, p_{i,1}, \ldots, p_{i,i-1},其中 00i1i-1 的每个整数恰好出现一次。pi,0p_{i,0}ii 认为最好的总指挥,pi,i1p_{i,i-1} 是最差的。

输出格式

输出一行整数,表示 0,1,,N10, 1, \ldots, N-1 的一个排列,确保每对相邻数字都不违反排名的限制(即相邻的 iijj 中,ii 不严格位于 jj 排名的后半部分)。

可以证明,解总是存在。如果存在多个解,你可以输出任意一个。

6
0
1 0
2 1 0
3 2 1 0
4 3 2 1 0

4 2 5 3 1 0

符合子任务 11 的条件。总指挥 2233 不能站在 00 旁边,总指挥 4455 不能站在 0011 旁边。输出排列 0 1 4 2 3 5 满足条件,如上图所示。

5
0
0 1
0 1 2
0 1 2 3

2 0 4 1 3

符合子任务 22 的条件。总指挥 22 不能站在 11 旁边,总指挥 33 不能站在 22 旁边,总指挥 44 不能站在 3322 旁边。输出排列 0 1 2 3 4 满足条件。

4
0
1 0
0 2 1

3 0 1 2

符合子任务 33 的条件。不能站在一起的总指挥对只有 (1,3)(1, 3)(0,2)(0, 2)。因此,排列 3 0 1 2 没有冲突。另一个可能的答案是 0 1 2 3

数据范围与提示

对于所有输入数据,满足:

  • 2N10002 \leq N \leq 1000
  • $0 \leq p_{i,0}, p_{i,1}, \ldots, p_{i,i-1} \leq i-1$(对于 i=0,1,,N1i = 0, 1, \ldots, N-1

详细子任务附加限制及分值如下表所示。

子任务 分值 附加限制
11 1111 对于所有 1iN11 \leq i \leq N-1,总指挥 ii 的排名为 i1,i2,,0i-1, i-2, \ldots, 0
22 2323 对于所有 1iN11 \leq i \leq N-1,总指挥 ii 的排名为 0,1,,i10, 1, \ldots, i-1
33 2929 N8N \leq 8
44 3737 无附加限制