AT_abc376_d.[ABC376D] Cycle

普及-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

有一个包含 NN 个顶点和 MM 条边的简单有向图,顶点编号为 11 到 NN。第 ii 条边 (1≤i≤M)(1 \leq i \leq M) 是一条从顶点 aia_i 指向顶点 bib_i 的有向边。
请判断是否存在包含顶点 11 的环路。如果存在,请输出所有包含顶点 11 的环路中边数最少的环路的边数;如果不存在,请输出 −1-1。

输入格式

输入以以下格式从标准输入读入。

NN MM
a1a_1 b1b_1
a2a_2 b2b_2
⋮\vdots
aMa_M bMb_M

输出格式

如果存在包含顶点 11 的环路,则输出所有包含顶点 11 的环路中边数最少的环路的边数。否则输出 −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×1052 \leq N \leq 2 \times 10^5
  • 1≤M≤min⁡(N(N−1)2, 2×105)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
  • 如果 i≠ji \neq j,则 (ai,bi)≠(aj,bj)(a_i, b_i) \neq (a_j, b_j) 且 (ai,bi)≠(bj,aj)(a_i, b_i) \neq (b_j, a_j)
  • 输入的所有值均为整数

样例解释 1

顶点 1→1 \to 顶点 2→2 \to 顶点 3→3 \to 顶点 11 构成一个边数为 33 的环路,这是唯一一个包含顶点 11 的环路。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页