#P1143. 巡逻路线

    ID: 155 传统题 1000ms 128MiB 尝试: 0 已通过: 0难度: 普及 ← 上一题 下一题 → 随机一题 上传者: 标签 拓扑排序 图论 优先队列 贪心
显示设置

巡逻路线

题目描述

园区里有 nn 个路口,编号 1∼n1\sim n,以及 mm 条单向通道,第 jj 条通道从路口 uju_j 通往 vjv_j。

保安队要按通道的走向给路口排队检查:要求对每条通道 u→vu\to v,路口 uu 的检查次序都比路口 vv 更靠前。

请给出一个满足要求的检查次序。如果这样的次序不止一个,输出字典序最小的那个(也就是尽量让编号小的路口排在前面)。数据保证至少存在一个满足要求的次序。

输入格式

第一行两个整数 n,mn,m。

接下来 mm 行,每行两个整数 uj,vju_j,v_j。

输出格式

一行 nn 个整数,用空格分隔,表示字典序最小的检查次序。

输入输出样例 #1

输入 #1

4 3
3 1
3 2
2 4

输出 #1

3 1 2 4

说明

数据范围

  • 对于 100%100\% 的数据,1≤n,m≤2×1051\le n,m\le 2\times 10^5,1≤uj,vj≤n1\le u_j,v_j\le n,uj≠vju_j\ne v_j。输入保证给出的图是 DAG(存在满足要求的次序)。两个路口之间可能有多条通道。