Matrix Game

Time Limit: 1000ms
Memory Limit: 32768KB
This problem will be judged on HDU. Original ID: 3484
64-bit integer IO format: %I64d      Java class name: Main

Description

At the start of the matrix game, we have an n * m chessboard in which each grid is painted alternatively in white or black. Every time, we can apply one of the two following operations:
Row flip operation: we can change the color of every grid in a single row.
Column swap operation: we can swap two columns (i.e., switch the colors between corresponding grids).
The task of the problem is, determine whether it’s possible to reach the target from the original chessboard by applying the two operations several times. Print ‘Yes’ or ‘No’ for each case.

Input

There are several test cases. For each case, there are two integers n and m in the first line (1 ≤ n, m ≤ 100), followed by two n * m 0/1 matrixes (0 stands for white color and 1 stands for black color) which are the original chessboard and the target chessboard respectively.
The input ends up with two negative numbers, which should not be processed as a case.

Output

For each test case, print ‘Yes’ or ‘No’ to tell whether it’s possible to reach the target.

Sample Input

2 2
1 1
1 0
0 0
0 1
2 2
1 1
1 0
0 0
0 0
-1 -1

Sample Output

Yes
No

Source

Language: 
Theme: 
Share Code? 

Powered by NB231 | Current Style: .