#5246. Cycle

0

Cycle

Cycle

题目描述

有一个由 NN 个顶点(编号为 11 到 NN)和 MM 条边组成的简单有向图。第 ii 条边 (1≤i≤M)(1 \leq i \leq M) 是一条从顶点 aia_i 指向顶点 bib_i 的有向边。
判断是否存在包含顶点 11 的环路,如果存在,找出这些环路中边数的最小值。

输入格式

输入从标准输入按如下格式给出: NN MM a1a_1 b1b_1 a2a_2 b2b_2 ⋮\vdots aMa_M bMb_M

输出格式

如果存在包含顶点 11 的环路,输出这些环路中边数的最小值。否则,输出 −1-1。

3 3
1 2
2 3
3 1
3
3 2
1 2
2 3
-1
6 9
6 1
1 5
2 6
2 1
3 6
4 2
6 4
3 5
5 4
4

提示

2≤N≤2×1052 \leq N \leq 2 \times 10^5 $1 \leq M \leq \min \left( \frac{N(N-1)}{2},\ 2 \times 10^5 \right)$ 1≤ai≤N1 \leq a_i \leq N 1≤bi≤N1 \leq b_i \leq N ai≠bia_i \neq b_i (ai,bi)≠(aj,bj)(a_i, b_i) \neq (a_j, b_j) and (ai,bi)≠(bj,aj)(a_i, b_i) \neq (b_j, a_j), if i≠ji \neq j. 所有输入值均为整数。顶点 11 →\to 顶点 22 →\to 顶点 33 →\to 顶点 11 是一条包含三个边的环路,并且这是唯一一条包含顶点 11 的环路。

标签: AtCoder|abc376D

来源

AtCoder|abc376D