#P1423. 2023.08.01-RY-第三题-探险

2023.08.01-RY-第三题-探险

题目描述

塔子哥的探险队正在前往一片神秘的远古遗址进行探险,在遗址附近,塔子哥的情报人员发现有许多宝藏可能被隐藏在N(1≤ N < 2000)个神秘地点上。这些地点之间通过总计M(0 < M < 100000)条路径进行相互之间的联通。路径架设在任意两个地点之间,有些重要地点之间为了确保联通畅通,被建立了多条路径,而有些愚蠢的人竟然将路径接出的另一端,又连接回了本地点。任意直接或间接被路径连接的地点,可以进行信息交流。

在启程前往远古遗址之前,塔子哥派出了2名擅长解谜的勇者,每个勇者携带的特殊工具可以永久性地封闭任意1条路径。当2名勇者完成任务后,如果导致遗址中有任意2个地点之间不能互通,就可能暗示着有隐藏的宝藏,塔子哥的探险队将对这些地点展开深入探索,最终找到宝藏。

塔子哥的勇者是精英,他们绝不会同时封闭同一条路径。

请你设计一种计算方案,当给定地点个数N和路径条数M,进一步给出M条路径中每一条所连接的两个地点,来计算有多少种封闭方案可选,使得塔子哥的探险队发现宝藏。

例如,遗址有3个地点,并且有3条路径的部署如下:

image

在这个例子中,有三种封闭方案:

  • 封闭1号和2号路径
  • 封闭2号和3号路径
  • 封闭1号和3号路径

输入描述

第一行包含两个整数N和M,分别表示地点个数和路径条数。(1 ≤ N < 2000, 0 < M < 100000)

接下来M行,每行包含两个整数,表示一条路径连接的两个地点的标号。

输出描述

输出一个整数,代表2名勇者可选的封闭路径的方案个数。

3 3
1 2
2 3
3 1
3

样例待改