logo AlgoBeat OnlineJudge
登录 注册

#10226. [IOI 2018] werewolf 狼人·改(计数版)

内存限制:2018 MiB 时间限制:4000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

本题改编自 IOI 2018 狼人,要求输出可达路径的方案数,而非仅仅判断可行性。
原题见 Luogu P4899。本题为完整程序题,请提交完整代码。


在日本的茨城县内共有 个城市和 条道路。这些城市是根据人口数量的升序排列的,依次编号为 。每条道路连接两个不同的城市,并且可以双向通行。由这些道路,你能从任意一个城市到另外任意一个城市。

你计划了 个行程,分别编号为 。第 个行程是从城市 到城市

你是一个狼人。你有两种形态:人形狼形。在每个行程开始的时候,你是人形。在每个行程结束的时候,你必须是狼形。在行程中,你必须要变身(从人形变成狼形)恰好一次,而且只能在某个城市内(包括可能是在 内)变身。

狼人的生活并不容易。当你是人形时,你必须避开人少的城市,而当你是狼形时,你必须避开人多的城市。对于每一次行程 ,都有两个阈值 ,用以表示哪些城市必须要避开。准确地说,当你是人形时,你必须避开城市 ;而当你是狼形时,则必须避开城市 。这就是说,在行程 中,你必须在城市 中的其中一个城市内变身。

你的任务是,对每一次行程,计算在满足上述限制的前提下,有多少个不同的城市可以作为变身点,使得从 的路径存在。如果不存在任何可行路径,则回答

注意:变身点必须位于闭区间 内,且存在一条从 到该点的路径(仅经过 的点)和一条从该点到 的路径(仅经过 的点)。路径可以有任意长度。

输入格式

输入的第一行包含三个正整数 ,其意义见题目描述。

接下来 行,每行包含两个非负整数 ,表示一条连接城市 的道路。

接下来 行,每行包含四个非负整数 ,描述第 个行程。

输出格式

输出共 行,每行一个整数,表示对于对应的行程,可以作为变身点的城市个数。

样例

输入 #1

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

输出 #1

2
0
0

数据范围与提示

  • 对于每条道路,
  • 图连通,且无重边。
  • 对于每个行程: