P16096 [ICPC 2019 NAIPC] Busy Board
题目描述
还记得幼儿玩的忙碌板吗?上面有一排排不同形状的孔,可以把木桩敲进去。现在有一种新的电子版本。这块板由一个二维的钉板网格组成。板上的每个钉子可以处于 **上** 或 **下** 状态,但不能同时处于两种状态。你可以选择任意一个当前处于上的钉子,然后将其“敲下”。这样会将该钉子敲下,同时也会将其所在行和所在列中的所有其他钉子抬起(无论它们之前的状态如何)。你不能敲一个已经处于下的钉子(也许你可以敲,但不会产生任何效果)。那些可怜的孩子们永远无法同时让所有钉子都处于下状态!
:::align{center}

:::
这个例子展示了敲击右上角钉子时发生的变化。($\circ =$ 上,$\bullet =$ 下)
一位代课老师想给她的班级出个难题。她使用“教师模式”将板子设置成一种特定布局,然后问学生是否可以通过敲击某些(可能为零)钉子将板子变为另一种布局。
这对幼儿来说可能太难了,但也许你能解决。
输入格式
每个测试用例的第一行包含两个空格分隔的整数 $r$ 和 $c$($1 \leq r, c \leq 1{,}000$),表示板子的尺寸。
接下来的 $r$ 行,每行包含恰好 $c$ 个字符,仅由大写字母 **O**(表示钉子处于上状态)和大写字母 **X**(表示钉子处于下状态)组成,没有空格或其他字符。这是初始布局。
紧接着的 $r$ 行,每行包含恰好 $c$ 个字符,仅由大写字母 **O**(表示钉子处于上状态)和大写字母 **X**(表示钉子处于下状态)组成,没有空格或其他字符。这是目标布局。
输出格式
输出一个整数,如果可以从初始布局通过敲击钉子到达目标布局,则输出 $1$,否则输出 $0$。
说明/提示
翻译由 DeepSeek V3.2 完成