SD省队集训2019Day11之“loopy”

loopy

题目描述

提交答案题。
你要在从网格图的边上选出一些边使得这些边形成一个简单环。这个网格图的有些格子中的数字,数字表示这个格子周围有几条边被选中了。数据保证解是唯一的。

做法(技巧)

  1. “0”的周围没有线段:

当您解决一道数回谜题时,确定哪些点之间不能连接也是同样重要的。最好的方法是将这些不可连接的点之间用X标记。让我们看一下例子中位于中间的“0”。“0”意味着它的四周围均没有线段,因此我们可以将其周围标记4个X,及提示排除了4条线段。该例中还存在一个角落中的“0”以及边上的“0”。在这俩个“0”中,这俩个额外的X是为了避免隔离线段的产生。

  1. 相邻的“0”和“3”:

下面的例子中,“3”的上面有了一个X,那么只有一种方式将数字3包围:如图所示,连接左侧,底部以及右侧的线段。现在我们用俩条附加线段拓展这个环路,一条在左侧,一条在右侧,因为只有这样一种方式可以延续该回路。最终,我们可以在“3”的拐角处标记4个X,因为如果在这些地方划线,将会产生分叉(或者交叉),与数回的游戏规则不符。

  1. 对角上的“0”和“3”:

“3”和“0”如若对角相邻,将会构成数回谜题的另外一个可应用起手技巧的条件。在下面的例子中,这些灰线显示出仅有的俩种可能。其他的方式都会在随后导致矛盾。因为这其中的俩条线段的对应位置有所重叠,我们可以确定其肯定存在于谜题的回路中。

  1. 俩个相邻的“3”:

数回谜题中,当有俩个“3”相邻时,我们只能得到俩种解,如下面例子中灰线所示。任何其他的连线方式将会立刻导致矛盾的产生。因为这3条红色线段的对应位置重叠,我们可以确定其肯定存在于谜题的回路中。我们还可以看到,无论我们最后如何连接,该回路终将在俩个“3”间弯曲而过。这也意味着我们可以标记另外的俩个X。这个技巧通用于其他数量的相邻“3”情况。

  1. 对角上的俩个“3”:

当我们遇见对角为“3”的情况时,我们会有一些连接回路的方式,而其中一个就是下图灰线所示。然而,不管我们如何连接回路,红线都将会出现在回路中。为了避免交叉和分叉,我们还需标记4个X。排除这些线段对于后面的解题非常重要。

  1. 角落上的任意数字:

在角落中的提示数字总是可以帮助我们迅速找到一些起手线索。角落的“0”是相对简单的情况而且已经在起手技巧中提过。角落的“1”需要放置俩个X,因为该区域不可能只划一条线。角落的“2”有俩种划线方式,但是红圈圈起的点都将会被连接到,因此红线是该回路的一段。最后,角落的“3”有俩种回路连接的方式,而红线是它们的重叠区域,必将出现在回路中。


基本技巧

下一步,我们需要在已经部分被解出的线段上继续解题。一些情况下,因为只有唯一的候选连接方式,解题会变得简单而迅速,而其他情况中,我们会面对不只一个的候选连接方式,我们有必要进行更多的逻辑分析。下面是一些应用基本技巧的例子:

  1. “3”的约束:

因为“3”是数回中最大的提示数字,因此每个“3”的周围都要有三条线段包围,通常与其相邻的线段或者提示数字会帮助我们确定“3”周围的线段摆放方式。在下面的谜题中,“3”位于谜题的底边,而其右侧已经有了X。类似于起手技巧中的“角落上的任意数字”,所有的可能性中,红线所示为回路必经线段。

  1. 回路到达“3”:

下面例子中,上方回路刚好到达了“3”的一角,而其有三个方向延续:左侧,下方和右侧。然而,围绕“3”的回路只有俩种可能的连接方式。红线所示为俩种可能方式的重叠区域,那么也就必将会出现在回路中。因此回路只能继续围绕“3”,而它不能岔路到左边并且我们需要将其标记为X,以将其连线排除。

  1. 回路到达“1”:

一些时候,回路以一种方式到达“1”,这也就迫使其只能沿着它的一边延续。下面的例子中,回路到达了谜题底边的“1”。因此,回路只能向上或者向右延续。这也就意味着,“1”右侧和顶上的线段可以排除,如图中我们用红色X标记。

  1. “2”的约束:

数回谜题中最有趣的情况发生在“2”周围的回路。通过仔细分析下面的谜题,我们可以得出“2”周围只能有俩种回路连接方式。然而,红圈圈出的俩个点都将被连接。这也就意味着回路只有一种可走线路,如下图红线所示。

  1. 避免孤立回路:

数回的规则中规定,回路只有一条路径。因此我们不能在解题中封闭较小的回路。下面的例子中,我们有三种方式延续谜题底部的回路:左侧,上边和右侧。然而,如果我们在左侧划线,一个孤立的回路将会产生而违背了谜题规则。因此,我们将其标记X排除。


高级技巧

上面所述的方法还不足以解决那些较困难的谜题。因此您需要更加高级的解题技巧去解决那些特殊的情况和有趣的逻辑布局。大多数的高级技巧都是基于递推法,结合向前看的假设技巧和随后的矛盾逻辑分析。下面是一些应用高级技巧解决特殊情况的例子。当然,当积累了足够多的数回经验后,您也会研发出您自己的数回技巧:
高级技巧 1:

如第一个图所示,如果在左侧角落的回路继续向上延续,随后的步骤中将会产生一个封闭的回路。因此这个回路不能向上延续,我们将其标记为X。



高级技巧2:

如第一个图所示,如果我们在“3”的旁边标记X,我们不得不在其周围添加三条线段,如第二个图所示,而这将使得右上角的“3”存在矛盾。因此,如最后一幅图所示,我们必须将X用线段取代。



高级技巧3:

如第一个图所示,如果右底角的回路向上延续,我们会被迫建立一个封闭回路,如第二个图所示。因此,回路不能向上延续,我们将其用X标记。



高级技巧4:

在第一个图中,红线表示右上角“2”的回路。我们不知道这个回路是将往谜题中心扩展还是往角落扩展,但是我们知道回路必将连接红圈所圈的点。如最后一幅图所示,这俩条红线必将是回路的一部分。


高级技巧5:

如第一个图所示,如果我们在“1”下方划线,我们不得不在其周围添加三个X,如第二个图所示。然而,这也会使得左上角的“3”存在矛盾。因此,我们应该将“1”下面用X取代线段,如最后一幅图所示。



高级技巧6:

在第一个图中,如果我们标记X,我们会使得右上角的“1”产生矛盾。无论我们如何连接,我们只要在“1”周围划线,我们都将划第二条线。因此,如最后一幅图所示,X应被线段代替。


猜你喜欢

转载自www.cnblogs.com/water-lift/p/10993798.html
今日推荐