#P16024. [ICPC 2021 NAC] TraveLog
[ICPC 2021 NAC] TraveLog
题目描述
After a long time apart, Alice and Bob have reunited. They live in a country with cities, creatively named city to city . Bob drove from his home in city to Alice’s home in city .
When Alice asked Bob which path he took, he was stunned to find he didn’t remember. Bob is efficient, and drove without stopping, and knows there is no path faster than the one he took. He also has a brand new National Adventuring Company (NAC) TraveLog! Every time Bob drives through a city, the TraveLog records the time between when he left city and when he arrived in the current city.
:::align{center}
:::
In the above layout, there are two possible fastest paths Bob can take from city to city : or . Both paths take a total of units of time. The first path would have a TraveLog of , and the second would have a TraveLog of .
Unfortunately, the memory in Bob’s TraveLog is corrupted. Bob thinks that some of the times are gone, and the remaining times are shuffled arbitrarily. Given what remains of the TraveLog, can you reconstruct Bob’s path?
输入格式
The first line of input contains three integers (), () and (), where is the number of cities in the country, is the number of one-way roads between those cities, and is the number of times remaining in Bob’s corrupted TraveLog. The cities are identified by number, through . Bob lives in city , and Alice lives in city .
Each of the next lines contains three integers , () and (). Each line describes a one-way road from city to city that takes units of time to traverse. There is guaranteed to be at least one path from city to city . There may be several roads between any given pair of cities.
Each of the next lines contains a single integer (). This is what remains of Bob’s TraveLog. Each line is a record of the amount of time Bob took driving from city to another city on his path. These values are guaranteed to be distinct.
输出格式
The output format depends on the number of paths consistent with Bob’s TraveLog.
- If there is no path consistent with Bob’s TraveLog, output .
- If multiple paths are consistent with Bob’s TraveLog, output .
- Otherwise, on the first line, output the number of cities on Bob’s path. On subsequent lines, output the cities Bob visited, one per line, in the order he visited them.
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