数墙

数墙 技巧

数墙是一款依靠各个位置的提示数字建岛的谜题游戏。游戏的目的是通过分离提示数字建立岛屿,使得每个岛屿只能包含仅仅一个数字,并且每个岛屿的方格数量与岛屿提示数字相等。另外,所有岛屿相互水平或者垂直分离,并且谜题结束后,所有墙不仅可以形成一条连续的路径而且墙所形成的区域中没有2x2或者更大的矩形方格。下面的例子是一道6x6的数墙谜题及6行6列。现在我们需要根据上述所述的规则用墙将岛屿包围起来…但是如何做呢?

Nurikabe puzzle Nurikabe solution

起手技巧

解决数墙谜题一般都是通过一些提示数字周围的区域入手。当你完成了第一步,你就可以通过一些基本技巧来或许更多的解题提示。下面是一些对于起手技巧的介绍:

1. 岛屿大小为1

因为这个岛屿仅仅只有一个方格,我们可以水平和垂直连接其相邻的方格,以便用墙将其包围起来。

Island of 1 (A) Island of 1 (B)

2. 提示数字被方格隔离

根据数墙的规则,及所有的提示数字间必须得有墙将它们分离开来,因此当在同一行或者同一列中的提示数字间只有一个空方格时,它们之间的这个空方格必将是道墙。

Clues separated by one square (A) Clues separated by one square (B)

3. 对角线上的相邻提示数字

与上面的例子相似,当俩个提示数字在相邻对角线上,那么与它们接触的方格必将是道墙。

Diagonally adjacent clues (A) Diagonally adjacent clues (B)

基本技巧

现在我们可以继续应用基本技巧,它通常会简单地提示我们哪些方格是墙的一部分并且填充上,哪些方格是岛屿的一部分并用“点”来标记。下面是一些应用基本技巧的方法:

1. 方格包围

当你通过上述起手技巧完成了第一步后,下面左侧的谜题中有俩个被突出显示为红色的被包围起来的方格。由于这俩个方格在水平方向和垂直方向被墙包围起来,他们不可能属于任何一个岛屿。因此它们必须是墙的一部分并应被填涂上。

Surrounded square (A) Surrounded square (B)

2. 墙扩充

根据数墙的规则,谜题中所有的墙必须形成一条连续的路径。通过观察下面左侧谜题中那个单一方格,我们可以推出唯一一个使得它与其他墙相连的办法就是在其右方扩充填满3个方格,如右图所示。

Wall expansion (A) Wall expansion (B)

3. 墙连续

在下面的谜题中,如果突出显示区域是岛屿的一部分,那么岛屿上方的墙将会被隔离。因此,根据数墙规则,为了保持墙中路径的连续性,这一区域必须是墙。

Wall continuity (A) Wall continuity (B)

4. 通过提示数字扩充岛屿

在许多例子中,我们可以清楚地推出如何将一个提示数字扩充为一个岛屿。在下面图中,提示数字为3的岛屿必须向上扩充而提示数字为7的岛屿只能向左扩充。我们可以用“点”来标记这些方格,以便确认他们是岛屿的一部分并非墙。

Island expansion from a clue (A) Island expansion from a clue (B)

5.只有俩个方向的岛屿扩充

在一些例子中,提示数字为2的岛屿或者只剩最后一个待确定的方格的岛屿,扩充方向只可能有俩个且彼此垂直。当这个情况发生时,不用考虑哪个方向是岛屿扩充的方向,其对角线上的方格必须是墙的一部分,因此我们将其填充上,如下面右图所示。

Island expandable only in two directions (A) Island expandable only in two directions (B)

6. 隐藏岛屿扩充

一些时候个别岛屿在一个给定的区域中过大以至于无法容纳。在下面一道的谜题中我们可以看到,顶部无法容纳提示数字为12的岛屿,因此该岛屿必须向下扩充,如右图中标记为“点”。注意到现在“点”左侧的方格不可能属于任何岛屿,因此我们将其填充上标记为墙的一部分。

Hidden island expansion (A) Hidden island expansion (B)

7. 岛屿连续性

在左下图中被标记为红点的的方格必将属于一个岛屿,这可以避免一个2x2的墙区域产生。这意味着该方格左侧的方格必将属于同一个岛屿,我们将它们标记为“点”。现在,提示数字为3的岛屿完成了,我们可以将它用墙包围起来。

Island continuity (A) Island continuity (B)

8. 包围一个完成了的岛屿

在下面的一道谜题中,突出显示的区域说明了提示数字为3的岛屿已经完成。现在我们可以将其水平和垂直的包围起来,如右图所示。

Surrounding a completed island (A) Surrounding a completed island (B)

9. 避免2x2墙体

根据数墙规则,我们不允许有2x2的墙体或者更大的矩形墙体。因此下图中突出显示的区域不能是墙的一部分,我们因此把它标记为“点”,及它是岛屿的一部分。

Avoiding wall area of 2x2 (A) Avoiding wall area of 2x2 (B)

10. 不可到达方格

有些例子中,一个方格不可能属于任何的岛屿因为没有提示数字可以“到达”它。下面的例子中俩个突出显示的方格离提示数字太远了,不能属于任何岛屿。我们可以推断出它们是墙的一部分。

Unreachable square (A) Unreachable square (B)

高级技巧

到现在,我们谈论的技巧不足以解决一些困难的谜题。因此我们需要一些高级的技巧去解决那些比较特别并且有趣的逻辑情景。大部分的高级技巧用到了递归法,及一种向前看的技巧,假设一到俩步并检查是否有逻辑冲突发生。下面是一些用来解决特别的逻辑情况的高级技巧,不过,当你解决更多困难的数墙谜题时,你会研发出更多的解题技巧:

1. 高级技巧1

在第一幅图中,提示数字2下面的突出显示方格,如同在数墙谜题中的其他方格,可能会是岛屿的一部分,也可能会是墙的一部分。让我们假设它是岛屿的一部分,也就意味着提示数字为2的岛屿可以完成了,如第二幅图所示,我们可以将其周围用墙围绕起来。然而,这将会产生一个2x2的围墙区域,就不符合游戏规则了。因此,这个在提示数字2下面的方格必须是墙的一部分,如最后一张图所示。

Advanced technique 1 (A) Advanced technique 1 (B) Advanced technique 1 (C)

2. 高级技巧2

如前一个例子,如果我们假设这个突出显示区域的方格是墙体的一部分,那么也将会产生一个2x2的墙,就不符合游戏规则了。因此,突出显示的方格必须是岛屿的一部分,我们用“点”将其标记起来,如最后一张图所示。

Advanced technique 2 (A) Advanced technique 2 (B) Advanced technique 2 (C)

3. 高级技巧3

在第一张图中,如果这个突出显示的方格是岛屿的一部分,那么这个在提示数字2下面的方格必须是墙的一部分。然而,这段墙将不可能和其他的墙进行连接,如中间这幅图所示。因此,这个突出显示方格必须是墙的一部分,如最后一张图中被涂画的区域所示。

Advanced technique 3 (A) Advanced technique 3 (B) Advanced technique 3 (C)

4. 高级技巧4

让我们看一下第一幅图中部分被解出的数墙谜题里被突出显示的方格。如果这个方格是墙的一部分,那么与它相邻的方格将会被隔离开来,并只能是墙的一部分,从而产生了一个2x2的墙体。因为题目规则中明确指出不可以有2x2的墙体,那么这个突出显示的方格必须是岛屿的一部分,我们将其用“点”来标记,如最后一张图所示。

Advanced technique 4 (A) Advanced technique 4 (B) Advanced technique 4 (C)

5. 高级技巧5

下面是一道大型的数墙谜题,其中有一个大小为6的岛屿需要最后一个方格才能完成。如果我们假设第一幅图中这个被红色突出显示的方格为岛屿的一部分,那么在它下方的方格必须是墙的一部分,而且该方格左侧的方格必须为岛屿的一部分以避免2x2墙体区域的产生。所有的这些,如第二幅图所示,题目要求中的墙体连续性将会使得提示数字6右侧全部被墙体包围。因此,这个岛屿大小为6的岛屿中的最后一个方格必须在其右侧,如最后一幅图所示,岛屿完成。

Advanced technique 5 (A) Advanced technique 5 (B) Advanced technique 5 (C)