无向图定向
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

火山哥手里有一个 个点 条边的无向图。
现在,火山哥请你把无向图的每条边确定一个方向,使之成为一个DAG,并且最小化最长路的长度。
这里一条路径的长度指的是经过边的数量。

输入描述:

第一行两个整数 ,分别表示图的点数和边数。
接下来 行,每行两个正整数 ,表示一条无向图。
输入数据保证无重边无自环,点编号从 开始。

输出描述:

一个整数,表示最短的最长路。
示例1

输入

复制
3 3
1 2
2 3
1 3

输出

复制
2
示例2

输入

复制
5 4
1 2
2 3
3 4
4 5

输出

复制
1

备注:

DAG指有向无环图