CF1475F.Unusual Matrix

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given two binary square matrices aa and bb of size n×nn \times n. A matrix is called binary if each of its elements is equal to 00 or 11. You can do the following operations on the matrix aa arbitrary number of times (0 or more):

  • vertical xor. You choose the number jj (1≤j≤n1 \le j \le n) and for all ii (1≤i≤n1 \le i \le n) do the following: ai,j:=ai,j⊕1a_{i, j} := a_{i, j} \oplus 1 (⊕\oplus — is the operation xor (exclusive or)).
  • horizontal xor. You choose the number ii (1≤i≤n1 \le i \le n) and for all jj (1≤j≤n1 \le j \le n) do the following: ai,j:=ai,j⊕1a_{i, j} := a_{i, j} \oplus 1.

Note that the elements of the aa matrix change after each operation.

For example, if n=3n=3 and the matrix aa is: $$ \begin{pmatrix} 1 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 1 & 0 \end{pmatrix} $$ Then the following sequence of operations shows an example of transformations:

  • vertical xor, j=1j=1. $$ a= \begin{pmatrix} 0 & 1 & 0 \\ 1 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix} $$
  • horizontal xor, i=2i=2. $$ a= \begin{pmatrix} 0 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 1 & 0 \end{pmatrix} $$
  • vertical xor, j=2j=2. $$ a= \begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix} $$

Check if there is a sequence of operations such that the matrix aa becomes equal to the matrix bb.

你被给定两个大小为 n×nn \times n 的二进制方阵 aa 和 bb。若矩阵的每个元素均为 00 或 11,则称该矩阵为二进制矩阵。你可以对矩阵 aa 执行以下两种操作任意多次(包括零次):

  • 竖直异或(vertical xor):选择一个列号 jj(1≤j≤n1 \le j \le n),并对所有行号 ii(1≤i≤n1 \le i \le n)执行:ai,j:=ai,j⊕1a_{i, j} := a_{i, j} \oplus 1(其中 ⊕\oplus 表示异或(exclusive or) 运算)。
  • 水平异或(horizontal xor):选择一个行号 ii(1≤i≤n1 \le i \le n),并对所有列号 jj(1≤j≤n1 \le j \le n)执行:ai,j:=ai,j⊕1a_{i, j} := a_{i, j} \oplus 1。

注意:每次操作后,矩阵 aa 的元素都会发生变化。

例如,当 n=3n=3 且矩阵 aa 为:

(110001110)\begin{pmatrix} 1 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 1 & 0 \end{pmatrix}

以下是一组操作序列及其变换示例:

  • 竖直异或,j=1j=1:

a=(010101010)a= \begin{pmatrix} 0 & 1 & 0 \\ 1 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix}

  • 水平异或,i=2i=2:

a=(010010010)a= \begin{pmatrix} 0 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 1 & 0 \end{pmatrix}

  • 竖直异或,j=2j=2:

a=(000000000)a= \begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix}

请判断是否存在一系列操作,使得矩阵 aa 能变为矩阵 bb。

输入格式

The first line contains one integer tt (1≤t≤10001 \leq t \leq 1000) — the number of test cases. Then tt test cases follow.

The first line of each test case contains one integer nn (1≤n≤10001 \leq n \leq 1000) — the size of the matrices.

The following nn lines contain strings of length nn, consisting of the characters '0' and '1' — the description of the matrix aa.

An empty line follows.

The following nn lines contain strings of length nn, consisting of the characters '0' and '1' — the description of the matrix bb.

It is guaranteed that the sum of nn over all test cases does not exceed 10001000.

第一行包含一个整数 tt(1≤t≤10001 \leq t \leq 1000),表示测试用例的数量。随后是 tt 个测试用例。

每个测试用例的第一行包含一个整数 nn(1≤n≤10001 \leq n \leq 1000),表示矩阵的大小。

接下来的 nn 行,每行是一个长度为 nn 的字符串,仅由字符 '0' 和 '1' 组成,描述矩阵 aa。

随后是一空行。

再接下来的 nn 行,每行是一个长度为 nn 的字符串,仅由字符 '0' 和 '1' 组成,描述矩阵 bb。

保证所有测试用例的 nn 之和不超过 10001000。

输出格式

For each test case, output on a separate line:

  • "YES", there is such a sequence of operations that the matrix aa becomes equal to the matrix bb;
  • "NO" otherwise.

You can output "YES" and "NO" in any case (for example, the strings yEs, yes, Yes and YES will be recognized as positive).

对于每个测试用例,在单独一行中输出:

  • 若存在一系列操作使得矩阵 aa 变为矩阵 bb,则输出 "YES";
  • 否则输出 "NO"。

你可以以任意大小写形式输出 "YES" 和 "NO"(例如,字符串 yEs、yes、Yes 和 YES 均被视为肯定回答)。

输入输出样例

  • 输入#1

    3
    3
    110
    001
    110
    
    000
    000
    000
    3
    101
    010
    101
    
    010
    101
    010
    2
    01
    11
    
    10
    10

    输出#1

    YES
    YES
    NO

说明/提示

The first test case is explained in the statements.

In the second test case, the following sequence of operations is suitable:

  • horizontal xor, i=1i=1;
  • horizontal xor, i=2i=2;
  • horizontal xor, i=3i=3;

It can be proved that there is no sequence of operations in the third test case so that the matrix aa becomes equal to the matrix bb.

第一个测试用例已在题目描述中说明。

在第二个测试用例中,以下操作序列是可行的:

  • 水平异或,i=1i=1;
  • 水平异或,i=2i=2;
  • 水平异或,i=3i=3;

可以证明,在第三个测试用例中,不存在任何操作序列能使矩阵 aa 变为矩阵 bb。

输入解题思路,AI测评打分。不知道怎么写?

首页