CF825E.Minimal Labels

提高+/省选-

通过率:0%

时间限制:1.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given a directed acyclic graph with n vertices and m edges. There are no self-loops or multiple edges between any pair of vertices. Graph can be disconnected.

You should assign labels to all vertices in such a way that:

  • Labels form a valid permutation of length n — an integer sequence such that each integer from 1 to n appears exactly once in it.
  • If there exists an edge from vertex v to vertex u then label__v should be smaller than label__u.
  • Permutation should be lexicographically smallest among all suitable.

Find such sequence of labels to satisfy all the conditions.

给你一个包含 nn 个顶点和 mm 条边的有向无环图(DAG)。图中不存在自环,任意两个顶点之间也不存在重边。该图可以是非连通的。

你需要为所有顶点分配标签,使得:

  • 标签构成一个长度为 nn 的合法排列——即一个整数序列,其中每个从 11 到 nn 的整数恰好出现一次;
  • 若存在一条从顶点 vv 指向顶点 uu 的边,则必须满足 labelv<labelu\text{label}_v < \text{label}_u;
  • 该排列在所有满足上述条件的排列中字典序最小。

请找出满足所有条件的标签序列。

输入格式

The first line contains two integer numbers n, m (2 ≤ n ≤ 105, 1 ≤ m ≤ 105).

Next m lines contain two integer numbers v and u (1 ≤ v, u ≤ n, v ≠ u) — edges of the graph. Edges are directed, graph doesn't contain loops or multiple edges.

第一行包含两个整数 nn、mm(2 ≤ n ≤ 1052 \leq n \leq 10^5,1 ≤ m ≤ 1051 \leq m \leq 10^5)。

接下来的 mm 行每行包含两个整数 vv 和 uu(1 ≤ v, u ≤ n1 \leq v,\,u \leq n,v ≠ uv \neq u),表示图中的一条有向边。该图是有向图,不含自环或重边。

输出格式

Print n numbers — lexicographically smallest correct permutation of labels of vertices.

输出 n 个数——顶点标签的字典序最小的正确排列。

输入输出样例

  • 输入#1

    3 3
    1 2
    1 3
    3 2

    输出#1

    1 3 2
  • 输入#2

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

    输出#2

    4 1 2 3
  • 输入#3

    5 4
    3 1
    2 1
    2 3
    4 5

    输出#3

    3 1 2 4 5

输入解题思路,AI测评打分。不知道怎么写?

首页