AT_arc021_1.[ARC021A] DEAD END
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
你被朋友高桥君极力推荐了一款游戏。
这款游戏在一个 4×4 的网格上进行,共有 16 个格子,每个格子上放有写有数字的方块。每次操作可以指定上下左右四个方向中的一个,所有方块会朝指定方向滑动。如果有两块写有相同数字的方块相遇,这两块会从网格上移除,取而代之的是一个数字变为原来两倍的新方块。
下图展示了棋盘的状态,以及从该状态向右操作一次后的棋盘示例。

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