#3931. 逃不掉的路

    ID: 3931 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>图结构图论边双连通分量缩点无向图必经边算法竞赛进阶指南

逃不掉的路

题目描述

现代社会,路是必不可少的。

共有n n 个城镇,mm 条道路,任意两个城镇都有路相连,而且往往不止一条。

但有些路年久失修,走着很不爽。

按理说条条大路通罗马,大不了绕行其他路呗——可小撸却发现:从 aa 城到b b 城不管怎么走,总有一些逃不掉的必经之路。

他想请你计算一下a,a b b 的所有路径中,有几条路是逃不掉的?

输入格式

第一行是 nnmm,用空格隔开。

接下来 mm 行,每行两个整数 xxyy,用空格隔开,表示 xx 城和 yy 城之间有一条长为 1 的双向路。

mm+2 行是 qq

接下来 qq 行,每行两个整数 aab b,用空格隔开,表示一次询问。

输出格式

对于每次询问,输出一个正整数,表示 aa 城到 bb 城必须经过几条路。

每个输出占一行。 对于全部的数据,1x,y,a,bn1≤x,y,a,b≤n;对于任意的道路,两端的城市编号之差不超过104 10^4
任意两个城镇都有路径相连;同一条道路不会出现两次;道路的起终点不会相同;查询的两个城市不会相同。

样例

5 5
1 2
1 3
2 4
3 4
4 5
2
1 4
2 5
0
1

数据范围

n105,m2105,q105n≤10^5,m≤2*10^5,q≤10^5

来源

  • 算法竞赛进阶指南