#2166. 路径统计
路径统计
题目描述
小W所在的城市有 个学校(编号从 到 ),学校与学校之间用一些双向道路连接。我们已知任意两个学校一定是可以相互到达的(直接或间接)。
现在有两个学校 和 ()。假如当前有两个学校 和 (),如果我们要从 走到 一定会经过 和 (经过 的顺序没有关系),那么我们就把这个 和 称为一个神奇的点对,注意 和 交换顺序也只能作为同一个点对。
现在,小 很好奇,他想要知道在这个城市里,这样的神奇点对有多少个?
你的任务就是帮助小 来统计这些神奇的点对。
输入格式
输入一行有 个正整数 ,分别表示学校的数量,双向道路的数量还有两个特殊的学校 和 。
接下来有 行,每行连个正整数 和 ,表示 和 之间有一条双向道路,保证没有重复的边,也没有自环。
输出格式
输出一定要经过学校 和 的神奇的点对的数量。
7 7 3 5
1 2
2 3
3 4
4 5
5 6
6 7
7 5
4
4 5 2 3
1 2
2 3
3 4
4 1
4 2
0
4 3 2 1
1 2
2 3
4 1
1
样例1解释
(1,6),(1,7),(2,6),(2,7)都是神奇的点对,因为它们相互到达一定经过3和5.
样例2解释
没有点对一定会经过2和3.
样例3解释
只有点对(3,4)一定要经过1和2.
数据范围
对于第1个到第3个测试点,1≤n≤1000,保证n-1=m,保证按1到n的顺序刚好连成一条直线。
对于第4个到第6个测试点,1≤n≤1000,保证n-1=m,保证刚好是一棵树。
对于第7个到第8个测试点,1≤n≤5000,这个图没有什么特殊性质
对于所有数据,1≤n≤100000,1≤a,b≤n,1≤m≤200000,a≠b,ui≠vi,所有的道路均不相同。