岛

岛 技巧

岛谜题由一个矩形框内的排列好的圆圈组成,每个圆圈代表了一个独立的岛并且圆圈内的数字代表了有多少道桥梁连接到此岛。谜题的目的是将所有的岛屿按照圆圈内的线索数水平或者垂直连接起来。需要补充的是,在任意一个方向,只能有一道或者俩道桥梁,桥梁不能跨接其他桥梁或者岛屿,并且游戏结束后,必须确保所有桥梁相互连接即可从一个岛屿到达任意一个岛屿。

Puzzle Solution

起手技巧

大部分的岛谜题,尤其是简单的谜题,包含了一些一眼就能发现的起手技巧。这些情况一般发生在一些特别的岛屿上,此岛屿中的提示数值是连接到此岛屿上的桥梁数的最大可能值。下面的一些例子中,有些岛屿中没有提示数字。这也就意味我们在解题的初期不用考虑这些岛屿。下面有一些应用起手技巧的例子:

1. 在角上的提示数字为“4”的岛屿,在边缘的提示数字为“6”的岛屿以及在中间的提示数字为“8”的岛屿:

在角落上的岛屿只有俩个邻岛并且与每一个邻岛相连最多只能有俩个桥。因此在角落上提示数字为“4”的岛屿必须与其俩个邻岛中的每一个都建立俩个桥。同样地,在边缘上提示数字为“6”的岛屿必须与其三个邻岛中的每一个都建立俩个桥;在中间的提示数字为“8”的岛屿必须与其四个邻岛中的每一个都建立俩个桥。在上述例子中,当岛屿上的已经连接的桥梁数量与其提示数字相同时,我们可以将其标记为X。

Islands with 4 in the corner, 6 on the side and 8 in the middle (A) Islands with 4 in the corner, 6 on the side and 8 in the middle (B)

基本技巧

下面一些步骤将会用到基本技巧,这些步骤以及基本技巧不能总是帮助我们完成一个岛屿所有桥梁的连接但是可以帮我们确定哪个方向有必要建立一条或者俩条桥梁。下面有一些应用基本技巧的例子:

1. 只有一个邻岛的岛屿:

在底端一行中提示数字为“1”的岛屿,只有一个与之相邻的岛屿在其右侧,这也就意味着我们只能在这俩个岛屿之间建立一条桥梁。同样地,在右上端提示数字为“2”的岛屿,只有一个与之相邻的岛屿在其下方,这也就意味着我们只能在这俩个岛屿之间建立俩条桥梁。在上述例子中,提示数字为“1”的岛屿以及提示数字为“2”的岛屿已经顺利完成搭桥,我们可以给它们标记为X。提醒下大家,只有一个邻岛的岛屿的提示数字不可能是“3”或者大于“3”的数字,因为这个违背了岛的游戏规则。

Islands with a single neighbor (A) Islands with a single neighbor (B)

2. 在角落中提示数字为“3”的岛屿,在边上提示数字为“5”的岛屿以及在中间提示数字为“7”的岛屿:

在角落中提示数字为“3”的岛屿只有俩个邻岛,也就是说该岛与其中一个邻岛的连接是一条桥梁而与另外一个岛屿的连接则是俩条桥梁。尽管我们不知道该岛与哪一个邻岛连接是俩条桥梁,但是我们可以确定该岛与其邻岛都建立了至少一条连接,我们可以具体看下面例子中左下角的岛屿。同样地,在谜题边缘提示数字为“5”的岛屿和与其相邻的3个岛屿至少建立一条连接,在谜题中间提示数字为“7”的岛屿和与其相邻的4个岛屿至少建立一条连接。

Islands with 3 in the corner, 5 on the side and 7 in the middle (A) Islands with 3 in the corner, 5 on the side and 7 in the middle (B)

3. 特别案列:在角上的提示数字为“3”的岛屿,在边缘上的提示数字为“5”的岛屿以及在中间的提示数字为“7”的岛屿:

如果一个位于角上的岛屿提示数字为“3”并且邻岛中有一个提示数字为“1”,那么所有的条件都可满足,我们可以将这3条桥梁画好。同样的逻辑还可应用在位于边缘上提示数字为“5”的岛屿以及位于中间提示数字为“7”的岛屿(有一个邻岛提示数字为“1”)。

Special cases of 3 in the corner, 5 on the side and 7 in the middle (A) Special cases of 3 in the corner, 5 on the side and 7 in the middle (B)

4. 特别案列:在边缘上的提示数字为“4”的岛屿:

这个例子中,我们可以注意一下位于谜题底部倒数第二行的提示数字为“4”的岛屿。尽管该岛屿并不是在边缘上,但是我们可以用逻辑的角度假设它就在边缘上,这是因为它只有3个方向有邻岛。由于在同一个方向不能建立超过俩条桥梁,我们可以满足这个岛屿的连接条件并画出与该岛相连的四条桥梁:俩条桥梁与之上面的岛屿相连,各一条桥梁与之俩边的岛屿相连。

Special case of 4 on the side (A) Special case of 4 on the side (B)

5. 特别案列:在中间的提示数字为“6”的岛屿:

让我们首先假设提示数字为“6”的岛屿和提示数字为“1”的邻岛相连。那么剩下了5条桥梁需要连接,也就是意味着岛屿“A”,“B”和“C”与其建立至少一条连接。现在让我们假设提示数字为“6”的岛屿不与提示数字为“1”的邻岛相连,那么它必须和岛屿“A”,“B”和“C”中间都建立俩条桥梁。因此,不管提示数字为“6”的这个岛屿和提示数字为“1“的邻岛如何连接,它都会和岛屿“A”,“B”和“C”建立至少一条连接。

Special case of 6 in the middle (A) Special case of 6 in the middle (B)

隔离技巧

岛游戏中有一条规则是这样的:所有的桥梁都是相互连接的,这种连接方式使得我们从一个岛可以到达另外任意一个岛。这条规则是非常重要的提示,尤其对于简单的岛谜题,这条规则也引出了一些非常有意思的逻辑情况可以帮助我们解题。下面有一些应用隔离技巧的例子:

1. 俩岛隔离:

让我们看一下最右边一列中位于底端的提示数字为“1”的岛屿。如左图所示,如果我们将它和相邻的提示数字为“1”的岛屿相连,这俩个岛屿将会成一个被孤立的岛屿段,这在岛谜题中是不被允许的。因此只能是另外的一种可能,和旁边的“A”岛相连。同样的原因,在左图中左下方提示数字为“2”的岛屿不能和它右边的岛屿建立俩条桥的连接。这也就意味着它与岛屿“B”必须建立至少一条连接。

Isolation of a two-island segment (A) Isolation of a two-island segment (B)

2. 三岛隔离:

上述的这种技巧可以扩展到三个岛屿的岛屿段。左图所示,在最底下一行中提示数字为“2”的岛屿不能按照图中方式建立俩条连接,因为这样做的后果是隔离出了一个孤立的岛屿段“1-2-1”。这也就意味着我们必须将其与岛屿“A”建立至少一条连接。同样地,左侧列中提示数字为“3”的岛屿不能按左图所示那样进行连接,因为这样做的后果是隔离出了一个孤立的岛屿段“1-3-2”这也就意味着我们必须将其与岛屿“B”建立至少一条连接。

Isolation of a three-island segment (A) Isolation of a three-island segment (B)

3. 岛屿段与单独岛屿相连后隔离:

有些时候,较长的岛屿段可能导致孤立的情况发生,这种情况非常难发现但是解起来非常有趣。让我们看一下左图中的例子。正如图中所示,这个岛屿段由7个岛屿组成,其中的6个岛屿已经完成连接,只有最上面一行中提示数字为“3”的岛屿有一座桥梁还需搭建。如果我们依照红线所示将其连接到左上角的岛屿,那么这个岛屿段将会与其他岛屿隔离。因此,我们必须按照右图中所示将其连接到提示数字为“5”的岛屿上。

Isolation when a segment connects to an island (A) Isolation when a segment connects to an island (B)

4. 岛屿段与岛屿段相连后隔离:

在左图中,我们有俩个岛屿段,其中一个岛屿段是由4个岛屿组成并且除提示数字为“6”的岛屿外,其余3个岛屿都顺利完成连接。另外一个岛屿段是由8个岛屿组成并且除提示数字为“3”的岛屿外,其余岛屿也已顺利完成连接。这俩个岛屿段中,只有俩条桥梁需要搭建。现在,如果我们按照左图中红线所示将俩个岛屿段之间建立俩条连接桥,我们将会得到一个很长的孤立的岛屿段。因此,我们可以推断出,我们必须与左上角的岛屿建立至少一条连接,如右图所示。

Isolation when a segment connects to another segment (A) Isolation when a segment connects to another segment (B)

高级技巧

至此,我们谈论的技巧都不足以解决一些困难的谜题。所以,我们需要一些高级技巧去解决那些特别的情况以及富有乐趣的逻辑挑战。大多数的高级技巧都应用了递推,及一种向前看的假设方法并且检查一步或者俩步后是否会有矛盾发生。尽管应用高级技巧有时候和应用之前的技巧很相似,但是最不同的一点是:解题者必须向前看并且发现逻辑冲突。下面是一些应用高级技巧解决特别题目的例子。当你独立解决困难的岛谜题时,你或许会发现更多的适合自己的技巧:

1. 隔离岛屿段之断桥法:

如果我们假设红“x”所示的方向没有桥梁,那么这五个岛屿将会如中间图所示连接起来,也就形成了隔离的岛屿段。因此我们必须如右图所示的方法将此岛屿段与上面的岛屿建立至少一条连接。

Isolating a segment by blocking a bridge (A) Isolating a segment by blocking a bridge (B) Isolating a segment by blocking a bridge (C)

2. 隔离岛屿段之补桥法:

让我们观察一下左图中最上面的一行。如果我们假设第二条与提示数字为“2”的岛屿相连的桥被补在了它右面,那么这6个岛屿段将会形成一个独立的岛屿段,如中间图所示。因此,这个岛屿的连接必须按照右图所示的方式。同样地,在谜题左下角的岛屿必须连接到其上面的岛屿。

Isolating a segment by adding a bridge (A) Isolating a segment by adding a bridge (B) Isolating a segment by adding a bridge (C)

3.隔离岛屿之建桥法:

让我们注意一下位于左图中提示数字为“2”的岛屿。如果我们假设红“x”所示方向没有建立桥梁,那么这俩条桥梁将会按照中间图所示连接。然而,这会导致提示数字为“1”的岛屿孤立,这正是由于唯一与之相邻的岛屿已经搭建完成。因此,我们必须按照右图所示方式建立至少一条向下的桥梁。

Isolating an island with bridges (A) Isolating an island with bridges (B) Isolating an island with bridges (C)

4. 创建矛盾连接:

谜题中第二行提示数字为“1”的岛屿可以通过俩个方向被连接。如左图所示,我们假设这个岛屿连接到了右侧远处的岛屿,也就形成了4个岛屿的岛屿段,正如中间图所示。然而,提示数字为“2”的岛屿仍然有一个还没建立的桥梁,这就造成了矛盾冲突。因此,谜题中第二行提示数字为“1”的岛屿必须如右图所示方式连接到它下面的岛屿。

Creating bridge-connection conflicts (A) Creating bridge-connection conflicts (B) Creating bridge-connection conflicts (C)