#P1756. Domino Puzzle

    ID: 757 远端评测题 1000ms 10MiB 尝试: 5 已通过: 0 难度: 10 上传者: 标签>图结构欧拉回路Northeastern Europe 2000

Domino Puzzle

本题没有可用的提交语言。

题目描述:多米诺骨牌

多米诺骨牌是一种使用小型长方形骨牌的游戏,每张骨牌表面由一条线分成两个方格,每个方格标有1至6个点(类似于骰子的点数)。现代多米诺游戏的基本规则是通过数字匹配将骨牌排列成行:一张骨牌的一端必须与另一张骨牌的一端数字相同。

现给定一个任意的多米诺骨牌集合,其中某些骨牌可以完全按规则排列成行,而另一些则不能。例如,由以下5张骨牌组成的集合:

  • (1, 5)
  • (1, 6)
  • (5, 5)
  • (2, 4)(两张)

无法排列成一行。但如果添加一张 (2, 5)(数字总和为7),则可以排列成如下形式:
(1,5)-(5,5)-(5,2)-(2,4)-(4,2)-(2,6)-(6,1)

然而,我们希望添加的骨牌数字总和最小。在上例中,若改为添加两张 (1, 2)(总和为6),则可排列成:
(1,5)-(5,5)-(5,2)-(2,1)-(1,2)-(2,4)-(4,2)-(2,6)-(6,1)

任务要求

编写程序,对给定的多米诺骨牌集合,找到一个可能为空的额外骨牌集合,使得:

  1. 原集合与额外集合的骨牌能按规则排列成行。
  2. 额外集合的骨牌数字总和最小
  3. 若有多个解,输出任意一个。

输入格式

  • 第一行:整数 N(2 ≤ N ≤ 100),表示初始骨牌数量。
  • 后续 N 行:每行两个1至6的整数(顺序无关),描述一张骨牌。

输出格式

  • 第一行:额外骨牌的最小数字总和(若无需添加则输出0)。
  • 第二行:额外骨牌的数量(若无则输出0)。
  • 后续行:按输入格式输出额外骨牌(若无则省略)。

输入样例1

5
1 5
6 1
5 5
2 4
2 4

输出样例1

6
2
1 2
1 2

来源

Northeastern Europe 2000