308163: CF1475F. Unusual Matrix

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:1 Solved:0

Description

Unusual Matrix

题意翻译

### 题目描述 给你两个 $n\times n$ 的01矩阵,你可以进行如下两种操作: - 垂直xor:选中一列,将这一列的每个元素分别进行xor - 水平xor:选中一行,将这一行的每个元素分别进行xor 给定 $a,b$ 两个矩阵,问你 $a$ 是否可以在进行有限次操作后变为 $b$ 例如: $$ a=\begin{pmatrix} 1 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 1 & 0 \end{pmatrix},b=\begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix} $$ 先使第一行进行水平xor: $$ a=\begin{pmatrix} 0 & 0 & 1 \\ 0 & 0 & 1 \\ 1 & 1 & 0 \end{pmatrix} $$ 再使第三行进行水平xor: $$ a=\begin{pmatrix} 0 & 0 & 1 \\ 0 & 0 & 1 \\ 0 & 0 & 1 \end{pmatrix} $$ 最后使第三列进行垂直xor即可 ### 输入格式 第一行,一个整数 $t$ 表示数据组数 接下来 $t$ 组,每组开头一个整数 $n$ 描述了这两个矩阵的大小,接下来给出了两个矩阵 ### 输出格式 $t$ 行,每行一个字符串YES或NO,表示 $a$ 矩阵是否可以经过有限次操作变为 $b$

题目描述

You are given two binary square matrices $ a $ and $ b $ of size $ n \times n $ . A matrix is called binary if each of its elements is equal to $ 0 $ or $ 1 $ . You can do the following operations on the matrix $ a $ arbitrary number of times (0 or more): - vertical xor. You choose the number $ j $ ( $ 1 \le j \le n $ ) and for all $ i $ ( $ 1 \le i \le n $ ) do the following: $ a_{i, j} := a_{i, j} \oplus 1 $ ( $ \oplus $ — is the operation [xor](https://en.wikipedia.org/wiki/Exclusive_or) (exclusive or)). - horizontal xor. You choose the number $ i $ ( $ 1 \le i \le n $ ) and for all $ j $ ( $ 1 \le j \le n $ ) do the following: $ a_{i, j} := a_{i, j} \oplus 1 $ . Note that the elements of the $ a $ matrix change after each operation. For example, if $ n=3 $ and the matrix $ a $ 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: <ul> <li> vertical <span class="tex-font-style-tt">xor</span>, $ j=1 $ . $ $ a= \begin{pmatrix} 0 & 1 & 0 \\ 1 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix} $ $ </li><li> horizontal <span class="tex-font-style-tt">xor</span>, $ i=2 $ . $ $ a= \begin{pmatrix} 0 & 1 & 0 \\ 0 & 1 & 0 \\ 0 & 1 & 0 \end{pmatrix} $ $ </li><li> vertical <span class="tex-font-style-tt">xor</span>, $ j=2 $ . $ $ a= \begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix} $ $ </li></ul></p><p>Check if there is a sequence of operations such that the matrix $ a $ becomes equal to the matrix $ b$.

输入输出格式

输入格式


The first line contains one integer $ t $ ( $ 1 \leq t \leq 1000 $ ) — the number of test cases. Then $ t $ test cases follow. The first line of each test case contains one integer $ n $ ( $ 1 \leq n \leq 1000 $ ) — the size of the matrices. The following $ n $ lines contain strings of length $ n $ , consisting of the characters '0' and '1' — the description of the matrix $ a $ . An empty line follows. The following $ n $ lines contain strings of length $ n $ , consisting of the characters '0' and '1' — the description of the matrix $ b $ . It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 1000 $ .

输出格式


For each test case, output on a separate line: - "YES", there is such a sequence of operations that the matrix $ a $ becomes equal to the matrix $ b $ ; - "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).

输入输出样例

输入样例 #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=1 $ ; - horizontal xor, $ i=2 $ ; - horizontal xor, $ i=3 $ ; It can be proved that there is no sequence of operations in the third test case so that the matrix $ a $ becomes equal to the matrix $ b $ .

Input

题意翻译

### 题目描述 给你两个 $n\times n$ 的01矩阵,你可以进行如下两种操作: - 垂直xor:选中一列,将这一列的每个元素分别进行xor - 水平xor:选中一行,将这一行的每个元素分别进行xor 给定 $a,b$ 两个矩阵,问你 $a$ 是否可以在进行有限次操作后变为 $b$ 例如: $$ a=\begin{pmatrix} 1 & 1 & 0 \\ 0 & 0 & 1 \\ 1 & 1 & 0 \end{pmatrix},b=\begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix} $$ 先使第一行进行水平xor: $$ a=\begin{pmatrix} 0 & 0 & 1 \\ 0 & 0 & 1 \\ 1 & 1 & 0 \end{pmatrix} $$ 再使第三行进行水平xor: $$ a=\begin{pmatrix} 0 & 0 & 1 \\ 0 & 0 & 1 \\ 0 & 0 & 1 \end{pmatrix} $$ 最后使第三列进行垂直xor即可 ### 输入格式 第一行,一个整数 $t$ 表示数据组数 接下来 $t$ 组,每组开头一个整数 $n$ 描述了这两个矩阵的大小,接下来给出了两个矩阵 ### 输出格式 $t$ 行,每行一个字符串YES或NO,表示 $a$ 矩阵是否可以经过有限次操作变为 $b$

加入题单

算法标签: