AT_abc376_d.[ABC376D] Cycle
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有一个包含 N 个顶点和 M 条边的简单有向图,顶点编号为 1 到 N。第 i 条边 (1≤i≤M) 是一条从顶点 ai 指向顶点 bi 的有向边。
请判断是否存在包含顶点 1 的环路。如果存在,请输出所有包含顶点 1 的环路中边数最少的环路的边数;如果不存在,请输出 −1。
输入格式
输入以以下格式从标准输入读入。
N M
a1 b1
a2 b2
⋮
aM bM
输出格式
如果存在包含顶点 1 的环路,则输出所有包含顶点 1 的环路中边数最少的环路的边数。否则输出 −1。
输入输出样例
输入#1
3 3 1 2 2 3 3 1
输出#1
3
输入#2
3 2 1 2 2 3
输出#2
-1
输入#3
6 9 6 1 1 5 2 6 2 1 3 6 4 2 6 4 3 5 5 4
输出#3
4
说明/提示
限制条件
- 2≤N≤2×105
- 1≤M≤min(2N(N−1), 2×105)
- 1≤ai≤N
- 1≤bi≤N
- ai=bi
- 如果 i=j,则 (ai,bi)=(aj,bj) 且 (ai,bi)=(bj,aj)
- 输入的所有值均为整数
样例解释 1
顶点 1→ 顶点 2→ 顶点 3→ 顶点 1 构成一个边数为 3 的环路,这是唯一一个包含顶点 1 的环路。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?