#ABC236G. 好顶点

好顶点

好顶点

题目描述

我们有一个包含 NN 个顶点的有向图。 这 NN 个顶点分别称为顶点 11、顶点 22、…\ldots、顶点 NN。 在时刻 00,图中没有边。

对于每个 t=1,2,…,Tt = 1, 2, \ldots, T,在时刻 tt,会添加一条从顶点 utu_t 指向顶点 vtv_t 的有向边。 (这条边可以是自环,即可能 ut=vtu_t = v_t。)

当某个顶点可以通过从顶点 11 出发恰好遍历 LL 条边到达时,称该顶点为「好」顶点。

对于每个 i=1,2,…,Ni = 1, 2, \ldots, N,请输出顶点 ii 成为好顶点的最早时刻。如果不存在顶点 ii 成为好顶点的时刻,则输出 −1-1。

输入格式

输入按以下格式从标准输入给出:

NN TT LL
u1u_1 v1v_1
u2u_2 v2v_2
⋮\vdots
uTu_T vTv_T

输出格式

按以下格式,对于每个 i=1,2,…,Ni = 1, 2, \ldots, N,输出顶点 ii 成为好顶点的最早时刻 XiX_i。如果不存在顶点 ii 成为好顶点的时刻,则 XiX_i 应为 −1-1。

X1X_1 X2X_2 …\ldots XNX_N

样例

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

在时刻 00,图中没有边。之后,边按如下方式添加。

在时刻 11,添加从顶点 22 指向顶点 33 的有向边。

在时刻 22,添加从顶点 33 指向顶点 44 的有向边。

在时刻 33,添加从顶点 11 指向顶点 22 的有向边。现在,从顶点 11 出发恰好走三步可以到达顶点 44:1→2→3→41 \rightarrow 2 \rightarrow 3 \rightarrow 4,因此顶点 44 成为好顶点。

在时刻 44,添加从顶点 33 指向顶点 22 的有向边。现在,从顶点 11 出发恰好走三步可以到达顶点 22:1→2→3→21 \rightarrow 2 \rightarrow 3 \rightarrow 2,因此顶点 22 成为好顶点。

在时刻 55,添加从顶点 22 指向顶点 22 的有向边(自环)。现在,从顶点 11 出发恰好走三步可以到达顶点 33:1→2→2→31 \rightarrow 2 \rightarrow 2 \rightarrow 3,因此顶点 33 成为好顶点。

顶点 11 永远不会成为好顶点。

2 1 1000000000
1 2
-1 -1

数据范围

  • 2≤N≤1002 \le N \le 100
  • 1≤T≤N21 \le T \le N^2
  • 1≤L≤1091 \le L \le 10^9
  • 1≤ut,vt≤N1 \le u_t, v_t \le N
  • i≠j⇒(ui,vi)≠(uj,vj)i \neq j \Rightarrow (u_i, v_i) \neq (u_j, v_j)
  • 输入中的所有值均为整数。
难度 省选/NOI-
通过率 —
尝试 0
通过 0
ID
2375
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签