#PX0014. 翻转游戏
翻转游戏
题目描述
在 行 列的方格纸上,每一个格子中都有一个灯泡,初始时的亮灭状态已经给定。现在,你可以选中任意位置的灯泡,转换其开关状态(开变为关,关变为开),该操作会同时转换这个位置上下左右四个位置灯泡的开关状态(如果有灯泡的话)。
你可以进行任意数量次的操作,每一次操作可以选择任意位置的灯泡操作,询问是否存在一个操作方案,使得能关闭所有的灯泡。
输入格式
第一行输入两个整数 $n,m \left(1 \leq n \leq 100,\ 1 \leq m \leq 10 \right)$ 代表方格纸的大小。
此后 行,每行输入一个长度为 、仅由 和 构成的字符串代表灯泡的初始亮灭状态。 代表初始时这个方格中的灯灭; 代表初始时这个方格中的灯亮。
输出格式
如果存在一种操作方案,使得能够关闭所有的灯泡,在一行上输出 ;否则,直接输出 。
输入样例
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}$ 。