AT_arc021_1 [ARC021A] DEAD END
题目描述
你被朋友高桥君极力推荐了一款游戏。
这款游戏在一个 $4 \times 4$ 的网格上进行,共有 $16$ 个格子,每个格子上放有写有数字的方块。每次操作可以指定上下左右四个方向中的一个,所有方块会朝指定方向滑动。如果有两块写有相同数字的方块相遇,这两块会从网格上移除,取而代之的是一个数字变为原来两倍的新方块。
下图展示了棋盘的状态,以及从该状态向右操作一次后的棋盘示例。

当无论指定哪个方向,所有方块都无法滑动,且无法让相同数字的方块相遇时,游戏就结束了。游戏的目标是在结束前尽可能合成出更大的数字方块。
你觉得这款游戏确实非常有趣,但由于还不太熟练,当棋盘被方块填满时,你很难判断游戏是否已经结束。因此,你决定编写一个程序,根据给定的棋盘状态,判断游戏是否已经结束。
输入格式
输入通过标准输入给出,格式如下:
> $A_{1,1}$ $A_{1,2}$ $A_{1,3}$ $A_{1,4}$
> $A_{2,1}$ $A_{2,2}$ $A_{2,3}$ $A_{2,4}$
> $A_{3,1}$ $A_{3,2}$ $A_{3,3}$ $A_{3,4}$
> $A_{4,1}$ $A_{4,2}$ $A_{4,3}$ $A_{4,4}$
- 共 $4$ 行,每行 $4$ 个数字,表示方块的信息。$A_{r,c}$ $(2 \leq A_{r,c} \leq 2048)$ 表示从上到下第 $r$ 行、从左到右第 $c$ 列的格子上方块上的数字。
- $A_{r,c}$ 均为 $2$ 的幂,即 $A_{r,c}$ 只能是 $2,\,4,\,8,\,16,\,32,\,64,\,128,\,256,\,512,\,1024,\,2048$ 之一。
输出格式
如果给定的棋盘状态为游戏结束,输出 `GAMEOVER`;如果还能继续操作,输出 `CONTINUE`,并换行。
说明/提示
### 样例解释 1
虽然上下方向无法移动方块,但左右方向可以让写有 $2$ 的方块或写有 $8$ 的方块相遇合并。
### 样例解释 2
无论向哪个方向移动,都无法让相同数字的方块相遇合并。
由 ChatGPT 4.1 翻译