#P16655. [Ctu2025]全能者 JJ

[Ctu2025]全能者 JJ

题目描述

Juraj Jánošík(1688—1713)是斯洛伐克传说中的侠盗,据说他劫富济贫。根据我们的资料,他活动的乡村呈网格形状。

这片区域包含 (N+1)×(M+1)(N+1)\times(M+1) 个交叉点。每一对水平或竖直相邻的交叉点之间都有一条道路。每条道路旁都有一座房屋,房屋要么富有,要么贫穷。由四条道路围成的每个小区域称为一块田地

Jánošík 每天会选择一条由道路组成的路线,并访问路线上的所有房屋:

  • 若一座房屋原本富有,他会取走财富,使其变为贫穷;
  • 若一座房屋原本贫穷,他会给予财富,使其变为富有。

也就是说,路线上的每座房屋状态都会在 0011 之间翻转。

他选择的路线一定属于以下两类之一:

  1. 沿一条水平或竖直直线,从国家的一侧边界走到相对的另一侧边界,并且恰好访问这条直线上的每座房屋一次;
  2. 选择一个由若干田地组成的连通区域,沿该区域的外围道路行走,并且恰好访问其边界上的每座房屋一次。
图 1:沿贯穿整个网格的直线行动,红色房屋会被访问。

图 2:沿一个连通田地区域的边界行动,浅绿色表示所选田地,红色房屋会被访问。

历史学家发现了同一片区域在 1687 年和 1714 年的两份记录,其中分别记载了每座房屋是富有还是贫穷。

Jánošík 可以执行任意多次上述操作。请判断,最终记录是否可能仅由他对初始记录进行若干次操作得到。

输入格式

第一行包含两个整数 N,MN,M1NM1001\le N\cdot M\le 100),表示每列和每行中的田地数量。

接下来 2N+12N+1 行描述所有房屋的初始状态,再接下来 2N+12N+1 行以相同格式描述所有房屋的最终状态

每个状态的表示方式如下:

  • 1,3,5,,2N+11,3,5,\ldots,2N+1 行各包含 MM 个整数,表示某一条水平网格线上的 MM 条水平道路;
  • 2,4,6,,2N2,4,6,\ldots,2N 行各包含 M+1M+1 个整数,表示相邻两条水平网格线之间的 M+1M+1 条竖直道路。

每个整数均为 0011

  • 00 表示道路旁的房屋贫穷;
  • 11 表示道路旁的房屋富有。

输出格式

若最终状态可能由初始状态经过若干次允许操作得到,输出:

Yes

否则输出:

No

样例 1

输入

3 3
0 0 0
0 0 0 0
0 0 0
0 0 0 0
0 0 0
0 0 0 0
0 0 0
0 0 0
0 0 0 0
1 1 1
0 0 0 0
0 0 0
0 0 0 0
0 0 0

输出

Yes

样例 2

输入

3 3
0 0 0
0 0 0 0
1 1 0
1 0 1 0
1 0 0
0 1 1 0
0 1 0
0 0 0
0 0 0 0
0 0 0
0 0 0 0
0 0 0
0 0 0 0
0 0 0

输出

Yes

样例 3

输入

2 2
0 0
1 1 0
1 0
0 0 1
1 1
1 0
1 0 1
1 1
0 0 1
0 1

输出

No