#P16655. [Ctu2025]全能者 JJ
[Ctu2025]全能者 JJ
题目描述
Juraj Jánošík(1688—1713)是斯洛伐克传说中的侠盗,据说他劫富济贫。根据我们的资料,他活动的乡村呈网格形状。
这片区域包含 个交叉点。每一对水平或竖直相邻的交叉点之间都有一条道路。每条道路旁都有一座房屋,房屋要么富有,要么贫穷。由四条道路围成的每个小区域称为一块田地。
Jánošík 每天会选择一条由道路组成的路线,并访问路线上的所有房屋:
- 若一座房屋原本富有,他会取走财富,使其变为贫穷;
- 若一座房屋原本贫穷,他会给予财富,使其变为富有。
也就是说,路线上的每座房屋状态都会在 和 之间翻转。
他选择的路线一定属于以下两类之一:
- 沿一条水平或竖直直线,从国家的一侧边界走到相对的另一侧边界,并且恰好访问这条直线上的每座房屋一次;
- 选择一个由若干田地组成的连通区域,沿该区域的外围道路行走,并且恰好访问其边界上的每座房屋一次。


历史学家发现了同一片区域在 1687 年和 1714 年的两份记录,其中分别记载了每座房屋是富有还是贫穷。
Jánošík 可以执行任意多次上述操作。请判断,最终记录是否可能仅由他对初始记录进行若干次操作得到。
输入格式
第一行包含两个整数 (),表示每列和每行中的田地数量。
接下来 行描述所有房屋的初始状态,再接下来 行以相同格式描述所有房屋的最终状态。
每个状态的表示方式如下:
- 第 行各包含 个整数,表示某一条水平网格线上的 条水平道路;
- 第 行各包含 个整数,表示相邻两条水平网格线之间的 条竖直道路。
每个整数均为 或 :
- 表示道路旁的房屋贫穷;
- 表示道路旁的房屋富有。
输出格式
若最终状态可能由初始状态经过若干次允许操作得到,输出:
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