QOJ.ac

QOJ

시간 제한: 2 s 메모리 제한: 2048 MB 총점: 100

#15136. 王国发展计划

통계

Topcaria 王国正计划进行一系列旨在改善其基础设施的发展项目。每个项目都有特定的前置条件,必须在项目启动前完成。发展部请求你帮助确定一个可行的顺序,以便完成所有项目。

给你以下信息:

  • $n$,项目的数量,项目编号从 $1$ 到 $n$。
  • $m$,这些项目之间的前置关系数量。
  • 一个包含 $m$ 个对的列表,其中每个对 $(a, b)$ 表示项目 $a$ 必须在项目 $b$ 开始之前完成。

你的任务是确定一个可以完成所有项目的顺序。如果由于循环依赖而无法完成所有项目,则输出 "IMPOSSIBLE"。如果存在多个有效的顺序,请输出其中字典序最小的一个。

输入格式

第一行包含两个整数 $n$ 和 $m$ — 项目的数量和前置关系的数量。

接下来的 $m$ 行,每行包含两个整数 $a$ 和 $b$ — 表示项目 $a$ 必须在项目 $b$ 之前完成的前置关系对。

输出格式

如果无法完成,输出 "IMPOSSIBLE"。

如果可以完成所有项目,输出单行,包含 $n$ 个整数 — 一个有效的项目完成顺序。如果存在多个可能的顺序,输出字典序最小的一个。一个顺序在第一个不同位置上的项目编号小于另一个顺序在相同位置上的项目编号,则称该顺序的字典序更小。

数据范围

  • $1 \le n \le 10^5$
  • $0 \le m \le 2 \times 10^5$
  • $a, b \in \{1, 2, \dots, n\}$
  • $a \ne b$
  • 给定的关系对中没有重复的对。

样例

输入样例 1

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

输出样例 1

1 2 3 4 5

输入样例 2

5 4
1 2
2 3
3 1
5 4

输出样例 2

IMPOSSIBLE

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.