最新华为OD机试
题目描述
连连看游戏,第一行输入一个[[4,5,4][5,4,5]]
字符串代表连连看的地图,第一行输入n
,表示操作步骤,接下来n行,每行输入四个数字y1 x1 y2 x2
代表此次操作的两个位置。题目要求判断按照操作步骤执行,是否每一步都能进行消除,可以的话输出OK
,否则输出NO
.
输入描述
第一行输入 一个字符串,代表 连连看的地图。
第二行输出一个 n
, 代表操作步骤数
接下来的n行,每一行输入y1 x2 y2 x2
代表此次操作的两个表格位置
备注
不必考虑输入不合法的情况
输出描述
输入步骤能全部正常消除则输出OK
。否则输出NO
示例1
输入
[[4,5,4],[5,4,5]]
2
0 0 2 0
1 0 0 1
输出
OK
说明
解题思路
题目理解
这道题模拟的是连连看游戏,需要判断是否能按照给定的操作顺序成功消除所有指定的方块对。连连看游戏的核心规则是:
- 只能连接相同数字的两个方块
- 连接路径最多只能有2次拐弯
- 路径上只能经过空白格子
解题思路
- 解析输入:将字符串格式的地图转换为二维数组,并在四周添加边界,方便处理边界情况
- 逐步验证操作:对每一步操作,检查两个指定位置的方