第5题
蜗牛图尔博(Turbo)位于一个有2024行2023列的方格表的最上面一行,想要到达最下面一行。然而表中藏有2022只怪兽,除第一行和最后一行外,每一行恰好有一只怪兽,且没有两只怪兽位于同一列。图尔博会进行一系列尝试,从第一行走到最后一行。在每次尝试中,他可以选择第一行中任意一个格子作为起点,然后不断移动到与当前格子相邻(上下左右)的格子(允许回到之前访问过的格子)。如果图尔博到达一个有怪兽的格子,本次尝试立即结束,他会被送回第一行重新开始新的尝试。怪兽在各次尝试之间不会移动,并且图尔博会记住自己到过的每个格子里有没有怪兽。如果他到达最后一行的任意一个格子,本次尝试结束,图尔博获胜。试求最小的整数 ,使得无论怪兽如何放置,图尔博都存在一种策略,能保证在至多 次尝试内到达最下面一行。
通俗地说
当第一只怪兽位于内部时,阶梯路径可以向最近的边界推进,并在每个可能的第二只怪兽上方保留一个安全的肩部格。知道第二只怪兽的位置后,图尔博横穿它所在的行,进入第一只怪兽所在的已知安全列。
详细分析
令网格的行号为 、列号为 ,其中 ,并设 且 。若 ,就使用向右的镜像阶梯;否则使用下面的向左阶梯。从第2行第 列进入,向西走到第 列,下到第3行,再向西一列并下行,如此继续;在第 行首次到达的格子为 ,下行前先向西一步。这条路到达 。若向下进入 时那里是怪兽 ,则它右上方的格子 已经安全访问过。第3次尝试时,沿着安全前缀重走,从 进入第 行,再沿该行横向走到第 列。如果是在向西移动时遇到 ,那么同一行中它右边紧邻的格子已安全,也可使用同样的横向绕行。由于 是第 行唯一的怪兽,该行其余格子都安全;第 列在第2行以下也安全,因为它已经含有 ,而每列至多一只怪兽。于是沿第 列下到最后一行即可。如果阶梯无阻到达 ,就在第 行向东扫到第 列再下行;扫行时遇到的任何怪兽就是 ,可沿同一行绕过,而第 列不可能有怪兽。其中 表示当前行。