无向图中的最短距离
题号:NC15432
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

有一个n个点的无向图,有m次查询,每次查询给出一些(xi,yi)

dist(x,y)表示xy点在图中最短距离,dist(x,x)=0,如果x,y不连通则dist(x,y) = inf

每次查询图中有多少个点v与至少一个这次询问给出的(xi,yi)满足dist(v,xi)<=yi

输入描述:

第一行三个数表示n,m,q

之后m行每行两个数x,y表示有一条x与y之间的边,边权为1

之后q次询问,每个询问先给你一个数a

之后一行2a个数,第2i-1个数xi和第2i个数yi表示一个二元组(xi,yi

输出描述:

输出q行,每行一个数表示这次询问的答案
示例1

输入

复制
5 6 6
2 3 
1 3 
2 5 
1 3 
3 2 
2 5
1
3 1
1
1 1
1
1 4
1
5 2
1
1 4
2
1 0 5 1

输出

复制
3
2
4
3
4
3

备注:

对于100%的数据,n <= 1000 , m <= 100000 , q <=
100000
a的和<= 2100000