AT_abc307_f.[ABC307F] Virus 2
省选/NOI-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
有 N 个房间,编号为 1,2,…,N,每个房间里住着一人。此外,有 M 条通道连接着一些不同的两个房间。第 i 条通道连接房间 Ui 和房间 Vi,长度为 Wi。
某一天(记为第 0 天夜晚),住在房间 A1,A2,…,AK 的 K 个人被新感染了病毒。接下来的 D 天里,第 i 天(1≤i≤D)病毒的传播方式如下:
在第 (i−1) 天夜晚已经感染的人,在第 i 天夜晚依然保持感染状态。
对于其他人,如果他们住的房间与第 (i−1) 天夜晚已感染者所住的任意一个房间之间的距离不超过 Xi,则在第 i 天夜晚新感染。这里,房间 P 和房间 Q 之间的距离定义为仅通过通道从 P 到 Q 时所经过通道长度的最小总和。如果无法仅通过通道从 P 到 Q 移动,则距离视为 10100。
请对于每个 i(1≤i≤N),输出住在房间 i 的人是在第几天夜晚新感染的。如果到第 D 天夜晚仍未感染,则输出 −1。
输入格式
输入按以下格式从标准输入给出。
N M
U1 V1 W1
U2 V2 W2
⋮
UM VM WM
K
A1 A2 … AK
D
X1 X2 … XD
输出格式
输出 N 行。
第 i 行(1≤i≤N)输出住在房间 i 的人是在第几天夜晚新感染的。
输入输出样例
输入#1
4 4 1 2 2 2 3 1 2 4 3 3 4 2 1 1 2 3 3
输出#1
0 1 1 2
输入#2
7 7 1 2 2 2 3 3 3 4 1 4 5 1 5 6 3 3 7 1 4 7 1 2 1 6 2 2 3
输出#2
0 1 2 -1 2 0 -1
输入#3
5 1 1 2 5 2 1 3 3 3 7 5
输出#3
0 2 0 -1 -1
说明/提示
约束条件
- 1≤N≤3×105
- 0≤M≤3×105
- 1≤Ui<Vi≤N
- 所有 (Ui,Vi) 均不同
- 1≤Wi≤109
- 1≤K≤N
- 1≤A1<A2<⋯<AK≤N
- 1≤D≤3×105
- 1≤Xi≤109
- 所有输入均为整数
样例解释 1
病毒的传播过程如下:
- 第 0 天夜晚,住在房间 1 的人感染。
- 房间 1 到房间 2,3,4 的距离分别为 2,3,5。由于 X1=3,所以第 1 天夜晚,住在房间 2,3 的人新感染。
- 房间 3 到房间 4 的距离为 2。由于 X2=3,所以第 2 天夜晚,住在房间 4 的人也感染。
因此,住在房间 1,2,3,4 的人分别在第 0,1,1,2 天新感染,按顺序输出 0,1,1,2。
样例解释 3
请注意,并非所有两个房间之间都一定可以仅通过通道互相到达。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?