6
史莱姆:领土战争
您是史莱姆集团。自然,成为粘液,您希望渗出尽可能多的区域。但是还有其他3个史莱姆想要做同样的事情。谁将是卓越的史莱姆? 描述 所有的史莱姆将被集中到一个竞技场。评委(即控制程序)将详尽列出所有可能的4种软泥组合,将它们放在桌子的四角,并观察哪些粘液在大部分区域渗出。 您的史莱姆每回合可以执行以下三种动作之一:展开,跳跃或合并。有关这些含义的进一步说明将在“ 输出”部分中提供。 棋盘/竞技场 竞技场将是一块正方形板(当前为8x8,但将来可能会改变)。这是正在进行的游戏的示例竞技场: 11111222 11111444 11.22444 .1222.4. 333.3244 33333.44 333...44 333....4 史莱姆用数字1到4(玩家1到4)表示,空白处用点(.)表示。最初,棋盘开始时是所有空白空间,除了左上角的单个玩家1的软泥,右上角的玩家2,左下角的玩家3和右下角的玩家4之外。 坐标由基于0的行和列索引表示,以提高代码的可读性。例如,坐标(3,6)代表第4行中的第7个正方形(在上面的示例中为a 4)。(这使访问正方形更加容易:board[coords.x][coords.y]。)这是一个直观的插图: (0, 0) (0, 1) (0, 2) (1, 0) (1, 1) (1, 2) (2, 0) (2, 1) (2, 2) 输入值 程序的输入将是您是哪个玩家(1、2、3或4),逗号(,),然后是棋盘/区域的内容(用逗号替换换行符)。例如,如果您在上述情况下是玩家3,则输入为: 3,11111222,11111444,11.22444,.1222.4.,333.3244,33333.44,333...44,333....4 输出量 您的程序必须输出4个整数。前两个分别是您要移动的粘液的行索引和列索引,后两个分别是您要将粘液移动到的行和列索引。 每转一圈有三种选择:展开,跳跃或合并。 传播 要扩散,目标坐标必须与要移动的粘液正好相距一个正方形,并且目标坐标处的正方形必须为空白空间。扩展时,将在目标坐标处创建新的史莱姆,并且不会删除旧的史莱姆。创建新的史莱姆之后,围绕此新史莱姆的8个方格中的所有敌方史莱姆都将转换为移动的玩家。 例如,对于图1中的棋盘,如果要输出玩家1 0 1 1 2,则结果将是图2中的棋盘。 1. …