#7580. 包裹投递

包裹投递

题目描述

给定一张城市地图,上面标记了 nn 个城市并通过 mm 条双向道路相连。

kk 名快递员,其中第 ii 名快递员位于城市 xix_i,并且能够向距离城市 xix_i 最多 did_i 的所有城市投递包裹。

这里所说的两个城市之间的距离是指它们之间最短路径上的城市总数。例如,由一条道路直接连接的两个城市之间的距离是 22

请判断这些快递员是否能够向所有城市投递包裹。

输入格式

第一行一个整数 TT 表示数据组数。对于每组数据:

第一行三个整数 n,m,kn,m,k 分别表示城市数、双向道路数量以及快递员人数。

第二行 kk 个整数 x1kx_{1\sim k} 表示每名快递员的位置。

第三行 kk 个整数 d1kd_{1\sim k} 表示每名快递员能投递包裹的最远距离。

接下来 mm 行,每行两个整数 ui,viu_i,v_i 表示一条连接城市 ui,viu_i,v_i 的双向道路。

输出格式

对于每组数据,如果能,输出一行 YES,否则输出一行 NO

2
3 3 2
1 3
1 2
1 2
1 3
2 3
3 3 1
1
1
1 2
1 3
2 3
YES
NO

数据范围

对于 30%30\% 的数据,1T1001\leq T\leq 1001n,m1001\leq \sum n,\sum m\leq 100

对于 60%60\% 的数据,1T1051\leq T\leq 10^51n,m1051\leq \sum n,\sum m\leq 10^51kmin(100,n)1\leq k\leq \min(100,n)

对于 100%100\% 的数据,1T1051\leq T\leq 10^51n,m1051\leq \sum n,\sum m\leq 10^51k,xin1\leq k,x_i\leq n1di1051\leq d_i\leq 10^51ui,vin1\leq u_i,v_i\leq nuiviu_i\neq v_i