A118190.午枫的城市路线

普及/提高-

官方

通过率:0%

时间限制:1.00s

内存限制:256MB

题目描述

在一座城市中,有 NN 个路口,编号为 1N1 \sim N
城市中共有 MM 条单向道路,每条道路 (ai,bi)(a_i, b_i) 表示可以从路口 aia_i 直接前往路口 bib_i

这些道路构成了一张有向图。现在,小午从路口 11 出发,他想知道:是否存在一条路径,能够从路口 11 出发,沿着道路前进,最终又回到路口 11?这样的路径称为一个回环路线(即起点和终点相同的路径)。

如果存在这样的回环路线,请你输出所有包含路口 11 的回环中,边数最少的那一条的长度;
如果不存在这样的回环,则输出 1-1

输入格式

第一行输入两个整数 N,MN, M,表示路口数量和道路数量;

接下来 MM 行,每行两个整数 ai,bia_i, b_i,表示一条从路口 aia_i 指向路口 bib_i 的单向道路。

输出格式

如果存在包含路口 11 的回环,输出其最少边数;否则输出 1-1

输入输出样例

  • 输入#1

    3 3
    1 2
    2 3
    3 1

    输出#1

    3

说明/提示

解释说明

在示例一中,存在一条回环路线:12311 \rightarrow 2 \rightarrow 3 \rightarrow 1

这条路径从路口 11 出发并回到 11,长度为 33,因此答案为 33

在示例二中,从路口 11 出发无法回到自身,因此不存在回环路线,答案为 1-1

数据范围

对于 100%100\% 的测试数据,满足:2N2×1052 \le N \le 2 \times 10^51Mmin(N(N1)2, 2×105)1 \le M \le \min\left(\frac{N(N-1)}{2},\ 2 \times 10^5\right)1ai,biN1 \le a_i, b_i \le Naibia_i \neq b_i,不存在重边或反向重复边。

首页