#P13252. [GCJ 2014 #1B] The Bored Traveling Salesman

    ID: 13072 远端评测题 3000~5000ms 1024MiB 尝试: 0 已通过: 0 难度: 8 上传者: 标签>图论贪心2014Google Code Jam

[GCJ 2014 #1B] The Bored Traveling Salesman

Description

你的老板派你出差去进行国际销售。多么令人激动的事情啊!

你需要拜访 NN 座城市(编号从 11NN),这些城市之间有若干双向航班可供选择。

你必须至少访问每座城市一次。为此,你可以预订任意数量的机票,但需要满足以下规则:

  • 每张机票包含两段航班:一段是从某个特定城市 XX 飞往另一个特定城市 YY(称为去程航班),另一段是从城市 YY 返回城市 XX(称为返程航班)。
  • 你必须先使用某张机票的去程航班,之后才能使用其返程航班(中间可以穿插其他航班)。
  • 每个城市最多只能作为去程航班的目的地一次,但返程航班的目的地没有限制(同一城市可以接收多个返程航班)。
  • 所有你购买的机票中的航班必须全部使用。
  • 除此之外,你可以按任意顺序访问城市。
  • 你可以从任意一座城市开始旅程。但注意,不能乘坐任何一张机票的去程航班抵达起始城市。

这一次你不再尝试最小化旅行总距离,那太无聊了。相反,你注意到每座城市都有一个独特的 55 位数邮政编码(ZIP code)。你会在首次访问某座城市时(包括起始城市)将其 ZIP code 记录下来,并按访问顺序将这些 ZIP code 串接成一个大数字。

你的目标是:通过选择航线和访问顺序,使这个最终拼接出的数字尽可能小。

Input Format

输入的第一行为测试用例数 TT。接下来是 TT 个测试用例。

每个测试用例的第一行包含两个整数:城市数 NN 和可用的双向航班数 MM

接下来的 NN 行,第 ii 行是第 ii 个城市的 55 位邮政编码。所有 ZIP code 在每个测试用例中均不重复,且不会有前导零。

接下来 MM 行,每行包含两个整数 iijj1i<jN1 \leq i < j \leq N),表示存在一条从城市 ii 到城市 jj 的双向航班。每个测试用例中的所有航班均不重复。

保证在遵守规则的前提下,你可以访问到所有城市。

Output Format

对于每个测试用例,输出一行 "Case #x: y",其中 xx 是测试用例编号(从 11 开始),yy 是你能通过合理选择航线与访问顺序拼接出的最小数字。

4
3 2
10001
20000
10000
1 2
2 3
5 4
36642
28444
50012
29651
10953
1 4
2 3
2 5
4 5
5 5
36642
28444
50012
29651
10953
1 2
1 4
2 3
2 5
4 5
6 6
10001
10002
10003
10004
10005
10006
1 2
1 6
2 3
2 4
3 5
4 5
Case #1: 100002000010001
Case #2: 1095328444500122965136642
Case #3: 1095328444366422965150012
Case #4: 100011000210003100041000510006

Hint

样例说明

以最后一个测试用例为例,以下是使最终拼接数字最小的一种访问顺序与航线选择方式:

  1. 从城市 11 出发,记录 1000110001
  2. 乘坐从 1122 的去程航班,记录 1000210002
  3. 乘坐从 2233 的去程航班,记录 1000310003
  4. 乘坐从 33 返回 22 的返程航班。
  5. 乘坐从 2244 的去程航班,记录 1000410004
  6. 乘坐从 4455 的去程航班,记录 1000510005
  7. 乘坐从 55 返回 44 的返程航班。
  8. 乘坐从 44 返回 22 的返程航班。
  9. 乘坐从 22 返回 11 的返程航班。
  10. 乘坐从 1166 的去程航班,记录 1000610006
  11. 乘坐从 66 返回 11 的返程航班。

限制条件

  • 1T1001 \leq T \leq 100

  • 0MN×(N1)20\le M\le \frac{N\times(N-1)}{2}

Small 数据集(15 分)

  • 时间限制:60 3 秒
  • 1N81 \leq N \leq 8

Large 数据集(30 分)

  • 时间限制:120 5 秒
  • 1N501 \leq N \leq 50

翻译由 ChatGPT-4o 完成。