#P10226. [COCI 2023/2024 #3] Restorani
[COCI 2023/2024 #3] Restorani
题目背景
译自 COCI 2023/2024 Contest #3 T4「Restorani」
题目描述
来到塞格德,Malnar 先生像通常一样,必须了解当地文化,品尝所有传统餐点、特色美食和当地饮料。
我们可以把塞格德想象成由 条双向道路连接的 个景点,这些景点的编号从 到 。这样,每一对景点之间都有一条路径。令人惊奇的是,Malnar 先生走过每条道路正好需要一分钟。在景点行走的时间可以忽略不计。
Malnar 先生有一份他想去的 家餐厅的清单。它由 个正整数组成,其中第 个数表示第 个餐厅在哪个景点附近。
一个问题是 Malnar 先生在餐厅用餐后,必须马上去甜品店吃冰淇淋。另一个问题是,他拒绝两次光顾同一家甜品店。
幸运的是他有备而来,因为他知道 家甜品店,这些甜品店的位置是由 个正整数组成的列表,其中第 个数字代表第 家甜品店在这个景点附近。
Malnar 先生旅途劳累,不想走更多的路,因此他请你计算一下他需要走多少路,并提供去餐厅和甜品店的顺序,这样他就可以在没有帮助的情况下穿梭于餐厅和甜品店之间了。
Malnar 先生目前在景点 ,并且必须在最后回到景点 。
输入格式
第一行包含整数 和 ,分别表示景点个数和餐厅/甜品店个数。
第二行包含 个整数 ,表示餐厅清单。
第二行包含 个整数 ,表示甜品店清单。
接下来 行,每行两个整数 和 ,表示景点 和 之间有一条道路。
输出格式
第一行输出 ,表示 Malnar 先生为了去所有餐厅和甜品店,并最后返回景点 的最短用时。
第二行输出 个整数 ,表示去餐厅和甜品店的顺序。
在奇数位置的数表示餐馆,这些数必须组成前 个正整数的排列。在偶数位置的数表示甜品店,这些数也必须组成前 个正整数的排列。
按上述顺序去景点并返回开始位置所经历的时间必须为最短时间 。
如果有多个最优顺序,输出任意一个均可。
3 1
2
3
1 2
1 3
4
1 1
9 4
2 3 4 6
4 5 8 9
1 2
1 3
3 4
3 5
5 6
1 7
7 8
7 9
18
3 1 4 2 2 4 1 3
10 5
3 5 6 7 8
1 2 4 9 10
1 2
2 3
3 4
4 5
5 6
6 7
7 8
8 9
9 10
24
4 4 5 5 3 3 2 2 1 1
提示
样例解释 1
Malnar 先生首先走一分钟前往唯一在景点 的餐厅,然后走两分钟到唯一在景点 的甜品店,然后花一分钟走回景点 。Malnar 先生总共会花 分钟。
样例解释 2
Malnar 先生按如下顺序去餐厅和甜品店:在景点 的餐厅( 分钟),在景点 的甜品店( 分钟),在景点 的餐厅( 分钟),在景点 的甜品店( 分钟),在景点 的餐厅( 分钟),在景点 的甜品店( 分钟),在景点 的餐厅( 分钟),在景点 的甜品店( 分钟)。在景点 处的甜品店吃完冰淇淋后,他返回景点 ( 分钟)。Malnar 先生一共走了 分钟。
样例解释 3
Malnar 先生按如下顺序去餐厅和甜品店:在景点 的餐厅( 分钟),在景点 的甜品店( 分钟),在景点 的餐厅( 分钟),在景点 的甜品店( 分钟),在景点 的餐厅( 分钟),在景点 的甜品店( 分钟),在景点 的餐厅( 分钟),在景点 的甜品店( 分钟),在景点 的餐厅( 分钟),在景点 的甜品店( 分钟)。在吃完最后的冰淇淋后,他已经在景点 所以他不会移动。Malnar 先生一共走了 分钟。
子任务
子任务编号 | 附加限制 | 分值 |
---|---|---|
无附加限制 |