测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A2818. 有机化学之神

编程题 普及+/提高

题目描述

你翻到那一题:给定一个烃,只含有单键(给初中生的一个理解性解释:就是一堆碳用横线连起来,横线都是单条的)。

经过化学反应,所有的环状碳都变成了一个碳,如图所示。



![](/uploads/acgo/image/c22ac65d7ed69f9e_388083887fe6.png)


然后指定多组碳,求出它们之间总共有多少碳,如图所示(和上图没有关系)。


![](/uploads/acgo/image/33f197887edeebe0_5a7fb432c74c.png)

### 题意简述

给你一个 $n$ 个点,$m$ 条边的无向图。把图中所有的环变为一个点,求变化后某两个点之间有多少个点。

输入格式

第一行两个整数 $n$,$m$。表示有 $n$ 个点,$m$ 根键。

接下来 $m$ 行每行两个整数 $u$,$v$ 表示 $u$ 号碳和 $v$ 号碳有一根键。

接下来一个整数 $tot$ 表示询问次数。

接下来 $tot$ 行每行两个整数,$a$,$b$ 表示询问的两个碳的编号。

输出格式

共 $tot$ 行,每行一个二进制数,表示答案。

输入输出样例

输入 #1
3 2
1 2
2 3
2
1 2
2 3
输出 #1
10
10

说明/提示

两个碳不成环。

## 数据范围及约定

对于 $100\%$ 的数据,$1<n\le10 ^ 4$,$1<m\le5\times 10 ^ 4$。
上一题 去做题 下一题