luogu#P16024. [ICPC 2021 NAC] TraveLog
[ICPC 2021 NAC] TraveLog
题目描述
久别重逢后,Alice 和 Bob 终于再次相聚。他们生活在一个有 座城市的国家中,这些城市被别出心裁地命名为城市 到城市 。Bob 从他的家乡城市 开车前往 Alice 的家乡城市 。
当 Alice 问 Bob 走的是哪条路时,Bob 惊讶地发现自己完全不记得了。Bob 是个高效的人,他一路上没有停歇,并且知道没有比他所走的路更快的一条路。他还拥有一个全新的国家探险公司(NAC)行车日志!每当 Bob 经过一座城市时,行车日志会记录下他从离开城市 到抵达当前城市之间所经过的时间。
:::align{center}
:::
在上图所示的道路布局中,Bob 从城市 到城市 可能存在两条最快的路径: 或 。两条路径的总时间均为 个单位时间。第一条路径对应的行车日志为 ,第二条路径对应的行车日志为 。
不幸的是,Bob 的行车日志存储器发生了损坏。Bob 认为部分时间记录已经丢失,而剩下的记录则被随机打乱了顺序。给定行车日志中残留的记录,你能否重建 Bob 的行驶路径?
输入格式
输入的第一行包含三个整数 ()、()和 (),其中 是国家的城市数量, 是这些城市之间的单向道路数量, 是 Bob 损坏的行车日志中剩余的时间记录条数。城市编号为 到 。Bob 住在城市 ,Alice 住在城市 。
接下来的 行,每行包含三个整数 、()和 ()。每行描述一条从城市 到城市 的单向道路,通行需要 个单位时间。保证至少存在一条从城市 到城市 的路径。任意一对城市之间可能有多条道路。
接下来的 行,每行包含一个整数 ()。这些是 Bob 的行车日志中残留的记录。每行记录的是 Bob 从城市 出发到他所经过的另一个城市所花费的时间。这些值保证互不相同。
输出格式
输出格式取决于与 Bob 的行车日志记录一致的路径条数。
- 如果没有一致的路径,输出 。
- 如果存在多条一致的路径,输出 。
- 否则,在第一行输出 Bob 路径上的城市个数。在接下来的若干行中,按访问顺序输出 Bob 途经的城市,每行一个。
5 5 2
1 2 3
2 3 4
3 5 2
1 4 5
4 5 4
5
9
3
1
4
5
6 8 2
1 2 1
2 3 2
3 6 8
1 4 3
4 5 4
5 6 4
5 2 7
1 6 13
0
3
1
2 1 1
1 2 10
5
0
提示
翻译由 DeepSeek V3.2 完成