这道题的正解是最短路加状压 TSP,但是我们用枚举接人顺序的朴素解法也能在考试时拿到一定的分数。
汇合时间看最晚到达的人。小红从 a 驾车去馆子 b,可以顺路接一部分同伴;没接到的人按每公里 10 分钟自己走,驾车按每公里 2 分钟。q 比较小时,可以直接枚举「接谁、按什么次序接」。
小红约了 q 名同伴,打算在城里某一家馆子碰头。
路网里既有只准单向走的路段(行人车辆都受此限),也有可以来回走的路段。小红驾车按每公里 2 分钟行进,同伴步行按每公里 10 分钟行进。
已知小红出发路口、馆子所在路口,以及每名同伴所在路口。小红可以:
每名同伴只能二选一:坐小红的车,或全程步行,中途不许改主意。
请算出一种安排,让所有人抵达馆子的时刻尽可能早(以最晚到达的那人为准)。
首行给出四个整数 p,e,a,b
随后 e 行,每行四个整数 x,y,c,z:路口 x、y 之间铺着一条 c(1≤c≤102)公里长的路;z=0 表示只能从 x 开向 y,z=1 表示两端都能走。
再下一行一个整数 q(0≤q≤15),即同伴人数。
再下一行 q 个整数,即各同伴所在路口。
输出一个整数:所有人抵达馆子的最短时间(分钟)。
输入
4 4 1 4
1 2 3 1
2 4 4 1
1 3 5 1
3 4 2 1
2
2 3
输出
20
说明
四个路口、四条双向路。小红在 1,馆子在 4,两名同伴在 2、3。
输入
3 3 1 3
1 2 10 1
2 3 10 1
1 3 2 1
1
2
输出
40
说明
小红在 1,馆子在 3,一名同伴在 2。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册