#3423. Nearest Shops

Nearest Shops

Nearest Shops

题目描述

有 n 个城市和 m 条道路。每条道路是双向的,连接两个城市。已知有 k 个城市有一家动漫商店。 如果你住在某个城市,如果该城市有动漫商店,你当然很熟悉本地的动漫商店。你想找到距离你所在城市最近的、但不在你所在城市的动漫商店。 对于每个城市,确定到另一个有动漫商店的城市的最短距离。

输入格式

第一行有三个整数 n、m 和 k:城市数、道路数和动漫商店数。城市编号为 1,2,\dots,n。 下一行包含 k 个整数:有动漫商店的城市。 最后有 m 行描述道路。每行有两个整数 a 和 b:表示城市 a 和 b 之间有一条道路。

输出格式

输出 n 个整数:对于每个城市,到另一个有动漫商店的城市的最短距离。如果不存在这样的城市,则输出 -1。

9 6 4
2 4 5 7
1 2
1 3
1 8
2 4
3 4
5 6
1 1 1 1 -1 1 -1 2 -1

提示

1kn1051 \le k \le n \le 10^5 0m21050 \le m \le 2 \cdot 10^5

标签: CSES3303|高级图论问题

来源

CSES3303|高级图论问题