枚举 · 例17-翻转游戏:easy
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}本题为简单版本,与困难版本的区别仅在数据的范围上。
\hspace{15pt}44 列的方格纸上,每一个格子中都有一个灯泡,初始时的亮灭状态已经给定。现在,你可以选中任意位置的灯泡,转换其开关状态(开变为关,关变为开),该操作会同时转换这个位置上下左右四个位置灯泡的开关状态(如果有灯泡的话)。
\hspace{15pt}你可以进行任意数量次的操作,每一次操作可以选择任意位置的灯泡操作,询问是否存在一个操作方案,使得能关闭所有的灯泡。

输入描述:

\hspace{15pt}一共四行,每行输入四个字符代表灯泡的初始亮灭状态。字符仅由 \texttt{\texttt{ 构成,前者代表初始时灯灭;后者代表初始时灯亮。

输出描述:

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

输入

复制
0000
0000
0000
0000

输出

复制
YES

说明

\hspace{15pt}在这个样例中,初始时全关,不需要任何操作。
示例2

输入

复制
0010
0111
1000
1011

输出

复制
YES

说明

\hspace{15pt}在这个样例中,其中一个合法的染色方式为:
\begin{matrix}<br />   0 & 0 & 1 & 0 \\<br />   0 & 1 & 1 & 1 \\<br />   1 & 0 & 0 & 0 \\<br />   1 & 0 & 1 & 1<br />\end{matrix}<br />\to<br />\begin{matrix}<br />   0 & 0 & {\color{orange}{0}} & 0 \\<br />   0 & {\color{orange}{0}} & {\color{orange}{0}} & {\color{orange}{0}} \\<br />   1 & 0 & {\color{orange}{1}} & 0 \\<br />   1 & 0 & 1 & 1<br />\end{matrix}<br />\to<br />\begin{matrix}<br />   0 & 0 & 0 & 0 \\<br />   0 & 0 & 0 & 0 \\<br />   {\color{orange}{0}} & 0 & 1 & 0 \\<br />   {\color{orange}{0}} & {\color{orange}{1}} & 1 & 1<br />\end{matrix}<br />\to<br />\begin{matrix}<br />   0 & 0 & 0 & 0 \\<br />   0 & 0 & 0 & 0 \\<br />   0 & 0 & {\color{orange}{0}} & 0 \\<br />   0 & {\color{orange}{0}} & {\color{orange}{0}} & {\color{orange}{0}}<br />\end{matrix}
示例3

输入

复制
0010
0111
1000
1010

输出

复制
NO