#HK6977. 「ICPC World Finals 2024」幼儿园
「ICPC World Finals 2024」幼儿园
题目描述
带着一群幼儿园小朋友去天文馆可不是件容易的事。你非常希望能这样做,让每个孩子都有机会进入有巨大望远镜的房间,亲眼看看木星。然而,现在你想起了其他看护者讲过的故事——孩子们可能会行为不当,在望远镜房间里留下一些令人头疼的惊喜,让后面的孩子遭殃。你非常希望避免这种情况发生。
你对你小组里的孩子们非常了解。每个孩子都会嫉妒另一个比他们酷的孩子,如果他们知道自己嫉妒的对象会在他们之后——不一定是紧接着之后,只是稍后某个时间——进入望远镜房间,他们可能会在房间里捣乱。你本以为这会很简单:班里最酷的孩子没有嫉妒的对象,所以她可以第一个进去,然后其他孩子按照酷的程度依次进入。然而,你刚刚得知最酷的孩子是个例外——她并不是嫉妒比自己更酷的人,而是嫉妒组里某个随机的其他孩子。这听起来简直是一场灾难!
幸运的是,你还知道每个孩子都有一个他们非常非常喜欢的孩子。所以,每当一个孩子在望远镜房间里想要搞恶作剧时,如果他们知道自己喜欢的孩子会在他们之后、但在他们嫉妒的孩子之前进入房间,他们就会克制自己不去捣乱。形式化地讲,如果孩子 嫉妒孩子 ,并且非常喜欢孩子 ,那么当 会在 之后进入望远镜房间,而 会在 之前或 之后进入时, 就有可能捣乱并留下惊喜。
你能找出一个让孩子们进入望远镜房间的顺序,确保不会发生任何惊喜吗?
输入格式
第一行包含一个整数 ,表示你小组里的孩子数量。孩子们按照酷的程度从高到低编号为 到 。接下来的 行,每行描述一个孩子。第 行包含两个整数:,表示第 个孩子嫉妒的孩子编号;,表示第 个孩子非常非常喜欢的孩子编号(,,,,并且对于除 之外的所有 ,)。
输出格式
输出一行包含 个整数,表示孩子们进入望远镜房间的顺序。如果有多种排序方式,输出任意一种即可。如果不存在可行的顺序,则输出 impossible。
4
4 2
1 4
2 4
2 1
1 2 3 4
4
2 3
1 4
2 1
1 2
impossible