#1243. 哈密顿绕行世界问题
哈密顿绕行世界问题
题目描述
一个规则的实心十二面体,它的 20 个顶点标出世界著名的 20 个城市。你从一个城市出发,经过每个城市刚好一次后回到出发的城市。
输入格式
前 20 行,第 i 行有 3 个数,表示与第 i 个城市相邻的 3 个城市。第 20 行以后每行有 1 个数 m(1 ≤ m ≤ 20)。m = 0 表示退出。
输出格式
输出从第 m 个城市出发,经过每个城市 1 次又回到 m 的所有路线。如果有多条路线,按字典序输出,每行 1 条路线。每行首先输出是第几条路线,然后一个冒号和两个空格,之后列出经过的城市。
样例输入
2 5 20
1 3 12
2 4 10
3 5 8
1 4 6
5 7 19
6 8 17
4 7 9
8 10 16
3 9 11
10 12 15
2 11 13
12 14 20
13 15 18
11 14 16
9 15 17
7 16 18
14 17 19
6 18 20
1 13 19
5
0
样例输出
1: 5 1 2 3 4 8 7 17 18 14 15 16 9 10 11 12 13 20 19 6 5
2: 5 1 2 3 4 8 9 10 11 12 13 20 19 18 14 15 16 17 7 6 5
3: 5 1 2 3 10 9 16 17 18 14 15 11 12 13 20 19 6 7 8 4 5
4: 5 1 2 3 10 11 12 13 20 19 6 7 17 18 14 15 16 9 8 4 5
5: 5 1 2 12 11 10 3 4 8 9 16 15 14 13 20 19 18 17 7 6 5
...
60: 5 6 19 20 13 14 18 17 7 8 4 3 10 9 16 15 11 12 2 1 5
数据范围
1 ≤ m ≤ 20,m = 0 表示退出。每个查询独立编号,路线编号从 1 开始。