[Usaco2005 Mar]Checking an Alibi 不在场的证明
谷仓中的谷物被盗了。农场主约翰试图从他的 头奶牛中找出偷走谷物的奶牛。幸运的是,一颗恰好经过的卫星在案发前 秒拍摄了农场的照片,记录了当时每头奶牛所在的位置。约翰希望判断哪些奶牛有足够的时间赶到谷仓实施盗窃。
约翰的农场由 块田地组成,编号为 到 。田地之间由 条双向道路连接,每条道路都有对应的通行时间。谷仓位于田地 中,奶牛在同一块田地内移动或切换道路不需要时间。
给定农场的道路布局以及卫星拍摄时每头奶牛所在的田地,请找出所有可能在案发前赶到谷仓的奶牛。
注意:在提交的程序中,请勿将变量准确命名为
time,否则可能与系统调用发生冲突。
输入格式
第一行包含四个以空格分隔的整数 、、 和 ,分别表示田地数量、道路数量、奶牛数量以及卫星拍摄时间距离案发的秒数。
接下来 行,每行包含三个以空格分隔的整数 、 和 ,表示田地 与田地 之间有一条双向道路,通过该道路需要 秒。
接下来 行,每行包含一个整数。第 行给出奶牛 在卫星拍摄时所在田地的编号。
输出格式
第一行输出一个整数 ,表示可能实施盗窃的奶牛数量。
接下来 行,每行输出一头可能实施盗窃的奶牛编号。所有编号必须按升序输出。
样例输入
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
数据范围
- ;
- ;
- ;
- ;
- 每条道路的通行时间满足 秒。
来源与许可
本题为 USACO 2005 年 3 月试题「Checking an Alibi」,题面与测试数据整理自 BZOJ 1681。
样例 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