#lydlx06x0B27. GF和猫咪的玩具

GF和猫咪的玩具

题目描述

GF 同学和猫咪得到了一个特别的玩具,这个玩具由 nn 个金属环(编号为 1n1 \sim n),和 mm 条绳索组成,每条绳索连接两个不同的金属环,并且长度相同。

GF 左手拿起金属环 LL,猫咪右手(或者说:爪)拿起金属环 RRLL 不等于 RR),然后尽量向两边拉,他希望选择合适的 LLRR,使得被拉紧的绳索尽量的多。

注:如果像样例那样 12435611-2-4-3-5-6-1 构成了一个环,我们认为拉 1133 时只能拉紧一边(12431-2-4-335613-5-6-1)而不算全部拉紧。

通俗地说,也就是当两个环之间有几个绳索数相等的连接方法时,只算其中一条连接方法拉紧,不算全部拉紧。

输入格式

第一行包含两个正整数 n,mn, m

接下来的 mm 行包含两个正整数 a,ba, b,表示有一条绳索连接了 aabb 的绳索。

输出格式

仅包含一个整数,表示最多能拉紧的绳索数。

样例

输入样例:

6 6
1 2
1 6
2 4
6 5
4 3
5 3

输出样例:

3

样例解释

玩具的绳索连接图:

1 — 2    5 — 6
|    |   |    |
4 — 3 — 5? (重新看:根据输入边)
边列表:
1-2, 1-6, 2-4, 6-5, 4-3, 5-3

实际结构:
1—2—4—3—5—6—1 形成一个六边形环。

我们要选择两个点 LLRR,使得它们之间的最短路径长度(边数)最大,并且当有多条最短路径时,只算其中一条被拉紧。

在这个例子中,拉 1144:最短路径 1241-2-422 条边,长度为 22,但实际可以找到更远的点对:例如 1133 有两条最短路径 12431-2-4-316531-6-5-3,长度都是 33,此时只算一条被拉紧,所以拉紧的绳索数是 33

数据范围

  • 2n1002 \le n \le 100

时空限制

  • 时间限制:1 秒
  • 空间限制:64 MB