#P2394. Checking an Alibi

Checking an Alibi

描述

犯罪行为发生了:FJFJ 的一头奶牛从谷仓里拿走了一车粮食。FJFJ 正试图确定他的 C1<=C<=100C (1 <= C <= 100) 奶牛中的哪头是罪魁祸首。幸运的是,一颗经过的卫星在案发前几秒钟拍摄了他的农场 M1<=M<=70000M (1 <= M <= 70000) 的图像,给出了所有奶牛的位置。他想知道哪些奶牛有时间去谷仓偷谷物。

FarmerJohnFarmer John 的农场包括 F1<=F<=500F (1 <= F <= 500) 个字段,编号为 1..F1..F,由 P1<=P<=1,000P (1 <= P <= 1,000) 双向路径连接,其遍历时间在 1..700001..70000 秒范围内(奶牛走得很慢)。字段 11 包含谷仓。在字段内移动 (切换路径) 不需要时间。

根据 FarmerJohnFarmer John 农场的布局和卫星飞过时每头奶牛的位置,确定可能有罪的奶牛组。

注意:不要声明完全命名为 time'time' 的变量。这将引用 systemsystem 调用,并且永远不会给你真正想要的结果。

输入

  • 11 行:四个以空格分隔的整数:FPCF、P、CMM

  • 2..P+12..P+1 行:描述路径的三个空格分隔的整数:F1F2F1、F2TT。该路径连接 F1F1 F2F2,需要 TT 秒才能遍历。

  • P+2..P+C+1P+2..P+C+1:每行一个整数,一头奶牛的位置。第一行给出了奶牛1 1 的田号,第二行给出了奶牛 22 的田号,依此类推。

输出

  • 11 行:单个整数 NN,可能犯罪的奶牛数量。

  • 2..N+12..N+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

输出数据 1

4
1
2
3
4

提示

输入详细信息:

字段/距离如下所示:

输出详细信息:

除了 55 头奶牛之外,任何一头奶牛都可以做到这一点。奶牛 55 需要 99 秒才能到达牛舍。