#905. 图的题

图的题

图的题

​【​题目描述】

农场有 F​​个点​,已知 P 条边以及每条边的起点终点和通过时间,给出​ C 个有牛的点,求在规定时间 M 内能从起点到达牛当前位置的牛的数量,并按升序输出牛的编号。

谷仓里发现谷物被盗!FJ 正试图从C 只奶牛里找出那个偷谷物的罪犯。幸运的是,一个恰好路过的卫星拍下谷物被盗前 M 秒的农场的图片。这样约翰就能通过牛们的位置来判断谁有足够的时间来盗窃谷物。 约翰农场​有 F 草地​,标号 1 到 F,还有 P 条双向路连接着它们。通过这些路需要的时间在 1 到 70000 秒的范围内。田地 1上建有那个被盗的谷仓。给出农场地图,以及卫星照片里​每只牛所在的位置​.请判断哪些牛有可能犯罪。

【输入】

第 1行:四个以空格分隔的整数:F,P,C 和 M。 第 2行至 P+1 行:三个空间分隔的整数,描述一个路径。连接F1 和F2 的路径需要 T 秒。 第 P+2行至P+C+1 行:每行一个整数,是一头牛的位置。

【输出】

第 1 行输出嫌疑犯的数目,接下来每一行输出一只嫌疑犯的编号。

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

【数据说明】

对于100%的测试点:1≤M≤70000,1≤C≤100,1≤P≤1000,1≤F≤500。