#P1563. 最优通讯(count)

最优通讯(count)

当前没有测试数据。

【问题描述】

某通讯网络需要基站来中转和放大信号来实现长距离的通讯,从a基站发出信号到b基站,中间可能要经过多个基站的信号中转和放大,当然,中转的基站越少,能耗就越少,所以通讯系统会选择中转基站数最少的通讯路径完成一次最优的通讯。现在有n个基站和 m对可以直接中转信号的基站关系,现在想知道从a基站到b基站进行通讯,符合最优通讯路径的基站总个数。如下图,2和5之间通讯,2-4-5和2-3-5都是最优通讯路径,所以符合2和5间最优通讯路径的基站总数是4个。

【输入格式】(count.in)

第一行n,m,表示n个基站,m对直接可以中转信号的基站关系

接下来m行,每行两个数a,b,表示a,b基站之间可以直接中转信号

再下来一个数p,表示问题的个数

接下来p行,每行两个数a,b,表示询问a,b

【输出格式】(count.out)

对于每个询问,输出一个数c,表示a,b之间符合最优通讯路径的基站总个数

【输入样例】

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

【输出样例】:

4
3
2

【数据范围】:

n<=100,p<=5000