#PX0014. 翻转游戏

翻转游戏

题目描述

nnmm 列的方格纸上,每一个格子中都有一个灯泡,初始时的亮灭状态已经给定。现在,你可以选中任意位置的灯泡,转换其开关状态(开变为关,关变为开),该操作会同时转换这个位置上下左右四个位置灯泡的开关状态(如果有灯泡的话)。

你可以进行任意数量次的操作,每一次操作可以选择任意位置的灯泡操作,询问是否存在一个操作方案,使得能关闭所有的灯泡。

输入格式

第一行输入两个整数 $n,m \left(1 \leq n \leq 100,\ 1 \leq m \leq 10 \right)$ 代表方格纸的大小。
此后 nn 行,每行输入一个长度为 mm 、仅由 "0"\texttt{"0"}"1"\texttt{"1"} 构成的字符串代表灯泡的初始亮灭状态。"0"\texttt{"0"} 代表初始时这个方格中的灯灭;"1"\texttt{"1"} 代表初始时这个方格中的灯亮。

输出格式

如果存在一种操作方案,使得能够关闭所有的灯泡,在一行上输出 YES\rm YES ;否则,直接输出 NO\rm NO

输入样例

4 4
0010
0111
1000
1011

输出样例

YES

说明/提示

样例解释:

在这个样例中,其中一个合法的染色方式为:
$\begin{matrix} 0 & 0 & 1 & 0 \\ 0 & 1 & 1 & 1 \\ 1 & 0 & 0 & 0 \\ 1 & 0 & 1 & 1 \end{matrix} \to \begin{matrix} 0 & 0 & {\color{orange}{0}} & 0 \\ 0 & {\color{orange}{0}} & {\color{orange}{0}} & {\color{orange}{0}} \\ 1 & 0 & {\color{orange}{1}} & 0 \\ 1 & 0 & 1 & 1 \end{matrix} \to \begin{matrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ {\color{orange}{0}} & 0 & 1 & 0 \\ {\color{orange}{0}} & {\color{orange}{1}} & 1 & 1 \end{matrix} \to \begin{matrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & {\color{orange}{0}} & 0 \\ 0 & {\color{orange}{0}} & {\color{orange}{0}} & {\color{orange}{0}} \end{matrix}$ 。