C. 小镇环路

    传统题 1000ms 256MiB

小镇环路

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

有一个小镇一共有 NN 个路口,编号从 11NN。路口之间有 MM 条单向通行的道路,第 ii 条道路从路口 aia_i 通往路口 bib_i。保证图中没有自环,并且任意两条边的有序对互不相同。

现在小蓝想检查:以小镇的中心路口—— 11 号路口为起点,是否存在一条从 11 号路口出发最后又回到 11 号路口的环路?如果存在,请求出所有经过 11 号路口的环路中,道路数量最少的那个环路的边数;如果不存在,输出 -1

输入格式

第一行两个正整数 N,MN, M,分别表示路口总数和单向道路总数。

接下来 MM 行,每行两个正整数 ai,bia_i, b_i,表示一条从 aia_i 指向 bib_i 的有向边。

输出格式

输出一行一个整数,包含 11 号路口的最短环路的边数。如果不存在这样的环路,输出 -1

3 3
1 2
2 3
3 1
3

样例 1 解释说明

路径 12311 \to 2 \to 3 \to 1 是一条有 33 条边的环路,这是经过 11 号路口唯一且最短的环路。

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

数据规模与约定

对于全部的测试点,保证:

  • 2N2×1052 \le N \le 2 \times 10^5
  • $1 \le M \le \min\left(\frac{N(N-1)}{2}, 2 \times 10^5\right)$
  • aibia_i \neq b_i
  • 所有输入数值均为整数

2026CSP-J模拟赛1

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-7-10 14:05
结束于
2026-7-10 16:05
持续时间
2 小时
主持人
参赛人数
6