QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 2048 MB Total points: 100

#2634. 连接点

Statistics

一个著名的逻辑问题是在纸上用 4 条线段连接 9 个点,且过程中不能抬起笔。虽然这并不难(尽管需要跳出框框思考),但 Simone 最近围绕这个概念的推广构建了一个名为“连接点”(Connect the Dots)的游戏。

在“连接点”游戏中,你面对的是一个 $4 \times 4$ 的规则点阵。每个点都被赋予了一个 1 到 16 之间的唯一编号。任务是按照编号顺序连接这些点,从点 1 开始,到点 16 结束。连接这些点时应使用尽可能少的线段,从点 1 开始,每一条线段的终点即为下一条线段的起点。线段允许相交和重叠。此外,在连接当前目标点的过程中,允许穿过其他点。这意味着,例如,按照 1, 4, 2, 3, 2, 4, ... 的顺序访问前四个点是可以接受的。形式上,序列 $1, 2, \dots, 15, 16$ 必须是所访问点序列的一个子序列。

图 C.1:第一个样例的解法。

Simone 请你尝试这个谜题,并和你打赌说这太难了。通过编写一个程序来解决这个谜题,证明她是错的!

输入格式

输入包含: * 4 行,每行包含 4 个整数,表示网格中点的编号。第 $i$ 行的第 $j$ 个数字是网格中第 $i$ 行第 $j$ 列点的编号。

输入中的 16 个数字都在 1 到 16 之间(含),且两两不同。

输出格式

输出按顺序连接所有点所需的最少线段数。

样例

输入 1

1 2 3 4
10 11 12 5
9 16 6 13
8 7 15 14

输出 1

6

输入 2

1 2 3 4
8 9 10 11
7 15 16 12
6 14 13 5

输出 2

7

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
#1568Editorial Open集训队作业 解题报告 by 周裕杭Anonymous2026-04-17 20:14:39 Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.