CF1983B.Corner Twist
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个 n 行 m 列的数字网格 a 和 b,网格中的所有值均为 0、1 或 2。
你可以对 a 进行如下操作任意次:
- 任意选择一个长和宽均不少于 2 的子矩形。你可以选择整个网格作为子矩形。
- 该子矩形有四个角。任选一对对角线上的角,将它们的值加 1(对 3 取模)。
- 对于未被选中的另外一对角,将它们的值加 2(对 3 取模)。
注意,该操作只会改变所选子矩形的四个角的值。
请判断是否可以通过若干次(可以为零次)上述操作,将网格 a 变换成网格 b。
输入格式
第一行包含一个整数 t,表示测试用例的数量(1≤t≤250)。
对于每个测试用例:
第一行包含两个整数 n 和 m,表示网格的行数和列数(2≤n,m≤500)。
接下来 n 行,每行 m 个字符,表示 a 网格的每个元素。
再接下来 n 行,每行 m 个字符,表示 b 网格的每个元素(0≤ai,j,bi,j≤2)。
保证所有测试用例中 n 的总和与 m 的总和不超过 500。
输出格式
对于每个测试用例,如果可以将网格 a 变换为网格 b,输出 "YES"(不含引号),否则输出 "NO"(不含引号)。
输出不区分大小写。例如,"yEs"、"yes"、"Yes" 和 "YES" 都会被识别为肯定回答。
输入输出样例
输入#1
7 3 3 000 000 000 111 111 111 4 4 0000 0000 0000 0000 2100 1200 0012 0021 4 4 1020 1200 1210 0000 0000 1200 2200 0000 3 3 012 012 012 010 111 011 8 8 00000000 00000000 00000000 00000000 00000000 00000000 00000000 10000000 00000000 01200000 02010000 00102000 00020100 00001020 00000210 10000000 2 7 0000000 0000000 2220111 0111222 2 7 0000000 0100010 2220111 1210202
输出#1
YES YES YES NO YES NO YES
说明/提示
在第一个测试用例中,可以按如下方式将网格 a 变换为 b:
000000000⇒102000201⇒102012222⇒111000222⇒111102120⇒111111111
在每一步操作中,被方框标记的右上和左下角加 2(对 3 取模),左上和右下角加 1(对 3 取模)。
在第四个测试用例中,可以证明无法通过上述操作将 a 变换为 b。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?