QOJ.ac

QOJ

시간 제한: 4.0 s 메모리 제한: 512 MB 총점: 100 해킹 가능 ✓

#16740. 国王的溃败

통계

今天晚上,奥科罗姆(Occorom)国王纳萨赫二世(Nassah II)的宫殿里将举行一场盛大的晚会。有 $n$ 位贵宾受邀参加。当客人们正在准备晚礼服并收集新鲜的八卦传闻时,宫殿的总管面临着一个棘手的任务:为客人们安排合适的到达宫殿的顺序。

客人总是依次到达,也就是说,没有两位客人会在同一时刻到达。由于宫廷礼仪,对到达顺序有一些限制。例如,一位著名的领主应该比他所有的侍从晚到,但应该比他的 wives(妻子们)早到。在阅读了《傻瓜礼仪指南》后,总管发现了 $m$ 条需要满足的顺序条件。每条条件的格式为:$a_i$ 必须在 $b_i$ 之前到达。规则非常复杂,以至于某些条件可能会在列表中出现两次或更多次。

到目前为止,这个问题似乎很简单且常见。但是一些客人(实际上是所有人)试图贿赂总管,以便让自己比其他人更早到达。因此,总管根据他们的贿赂金额对客人进行了排序,并决定:在不违反礼仪规则的前提下,让 1 号客人尽可能早地到达;在所有满足该条件的方案中,总管选择让 2 号客人尽可能早地到达的方案;以此类推。所有人的贿赂金额都互不相同,因此总管在确定客人的优先级时没有冲突。

请帮助总管找到最佳的到达日程表。在总管的私人优先级列表中,客人已经按编号排好,因此你不会知道具体的贿赂金额,也不会被指控参与腐败。

输入格式

输入的第一行包含两个整数 $n$ 和 $m$($1 \le n \le 200\,000$,$0 \le m \le 400\,000$),分别表示受邀的客人数量和顺序条件的数量。

接下来的 $m$ 行描述了这些条件,每行包含一对整数 $a_i, b_i$($1 \le a_i, b_i \le n$)。这表示要求客人 $a_i$ 必须比客人 $b_i$ 更早到达。

输出格式

输出 $n$ 个 $1$ 到 $n$ 之间的互不相同的整数,表示(按照总管的理解)客人们到达的最佳顺序。保证至少存在一个合法的顺序。

样例

输入样例 1

3 1
3 1

输出样例 1

3 1 2

输入样例 2

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

输出样例 2

5 2 3 4 1

说明

在第一个样例中,根据礼仪,所有 1 号客人排在 3 号客人之后的排列都是可以接受的。由于总管希望 1 号客人尽可能早地到达,他将 1 号客人放在第二个位置,将 3 号客人放在第一个位置。此时只剩下第三个位置留给 2 号客人。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.