传统题 1000ms 256MiB

扫雷

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

小林最近迷上了扫雷游戏,具体的,一个扫雷游戏棋盘可以被抽象成一个 n 行 m 列的包含 0-8 的数字、字符*和字符的二维矩阵,字符*表示当前位置有一个地雷,字符表示还不确定当前位置是否有地雷,数字表示与该位置有交点的八个位置中有多少地雷,若数字与周围的地雷数量不符,即视为该棋盘不合法。现在给出二维矩阵用以表示一场扫雷游戏棋盘,你可以选择字符所在的格子是否有地雷,请问是否存在一种方案使得二维矩阵合法?

输入格式

第一行包含一个正整数 T,表示共有 T 组数据。

对于每组数据,第一行两个正整数 n, m,表示棋盘大小。

接下来 n 行,每行输入一个长度为 m 的仅包含 0-8 的数字、字符*和字符的字符串,用以表示扫雷游戏的棋盘。

输出格式

输出 T 行,每行对应一组数据,如果存在一种方案使得棋盘合法,则输出 YES,否则输出 NO。

3
2 2
**
2?
2 2
*1
3?
2 2
**
21
YES
NO
NO

样例解释

第一组:? 是2。YES

**
22
棋盘合法。

第二组:NO

*1
3?
3表示这个矩阵有3个地雷
显然,? 是*, 也无法满足3这个要求

第三组:NO

**
21
显然,以1为中心时,这个矩阵出现了2个地雷。超过了1,非法。

样例2

数据范围与约定

对于 20% 的数据,仅有一个位置的字符为

对于 100% 的数据,1 ≤ T, n, m ≤ 10 保证字符的数量 ≤ 10。

2025暑假摸底测试#2

未参加
状态
已结束
规则
OI
题目
4
开始于
2025-5-23 18:30
结束于
2025-5-23 21:00
持续时间
2.5 小时
主持人
参赛人数
6