7
确定在宝石迷阵/第3场比赛中是否存在移动
背景 在“宝石迷阵”和类似的游戏中,玩家必须在8x8的宝石网格中交换任意两个相邻的宝石(没有对角线),以便连续匹配三个相同颜色的宝石。宝石可以水平或垂直匹配。游戏的进行一直持续到没有动作可导致连续三局为止,此时游戏结束了。 任务 目的是编写一个确定“宝石迷阵”游戏是否还没有结束的程序。换句话说,它必须检查是否有可能连续移动至少三个。连续可以有三个以上的宝石,这仍然是有效的举动。 输入值 您的程序必须通过标准输入接受Bejeweled网格的8x8表示形式。七种宝石颜色中的每一种将由1到7的数字表示。每行将包含一行,并且将输入8行,每行包括8位数字。请参阅示例。您可以假设输入将始终遵循此格式,并且永远不会连续包含三个。 输出量 然后,程序必须输出(至标准输出),yes或者no取决于是否存在至少一个有效动作,该动作将导致连续出现三个或更多宝石。您的程序不得输出yes或的单个实例以外的任何内容no。 规则 您的程序不得使用任何外部文件或资源,命令行参数或要求使用特定的文件名。源代码中字节数最少的程序将获胜。 例子 输入: 12314131 13224145 54762673 61716653 61341144 23453774 27645426 75575656 输出: yes 输入: 35261546 76421754 15743271 62135642 35617653 64565476 54427254 15635465 输出: no 有关其他测试案例,请参见下面的MT0答案。