P1119 - 邻接点的最大编号

题目描述

给定一个有向图,找出每个顶点的邻接点中最大的顶点编号。

邻接点(或称为相邻节点)是指在图的某个节点直接通过一条边与该节点相连的其他节点

对于无向图和有向图有不同的解释:

  • 无向图:如果节点 A 和节点 B 之间有一条边相连,那么节点 A 和节点 B 互为邻接点

  • 有向图:如果从节点 A 到节点 B 有一条边存在,那么 B 是 A 的邻接点,但 A 不一定是 B 的邻接点,除非图中存在从 B 到 A 的另一条边

比如下图:

1.png

图中顶点1的邻接点有:2、3,顶点1中邻接点的最大编号为3

顶点2的邻接点有:4,顶点2中邻接点的最大编号为4

顶点3的没有邻接点

顶点4的邻接点有:3,顶点4中邻接点的最大编号为3

图中顶点的编号从1开始依次编号,如果有n个顶点,则编号为1 - n

输入格式

第1行,两个正整数n和m,分别代表图中节点的个数和边数

接下来m行,每行两个正整数u和v,代表u到v之间有一条边<u, v>

输出格式

1行,从顶点1开始到顶点n,每个顶点的邻接点中最大的顶点编号,如果一个顶点没有邻接点则输出-1

输入输出样例

输入样例 输出样例
4 4
1 2
1 3
2 4
4 3
3 4 -1 3
5 4
4 3
1 3
1 2
2 4
3 4 -1 3 -1

数据范围与提示

40%的数据:$1 \le n \le 1000, 1 \le m \le 10000$

60%的数据:$1 \le n \le 10^{5}, 1 \le m \le 10^{6}$

测试点数目

共5个测试点,每个测试点20分

时间与内存限制

每个测试点时间:1000ms(1.0s),内存:256MiB

输入输出模式

本OJ支持两种输入输出模式

1. 标准输入输出模式:
直接从标准输入和标准输出读写数据,不需要使用freopen进行文件输入输出重定向
2. 文件输入输出模式(国内信奥赛输入输出模式):
从文件中读写数据,需要使用freopen进行输入输出重定向
本题输入文件名为:P1119.in,输出文件名为:P1119.out