#AT2443. G - Tatami

G - Tatami

当前没有测试数据。

G - 榻榻米

分数:$600$ 分

问题描述

有一个 $H$ 行 $W$ 列的网格。我们将 $(i,j)$ 表示位于从上往下数第 $i$ 行,从左往右数第 $j$ 列的方块。

我们想要用 $1 \times 1$ 和 $1 \times 2$ 的瓷砖来覆盖这个网格,使得没有瓷砖重叠且所有位置都被瓷砖覆盖。(瓷砖可以旋转)

每个方块上都有一个数字: 12 或者 ?。方块 $(i,j)$ 上的数字是 $c_{i,j}$。
数字为 1 的方块必须用 $1 \times 1$ 的瓷砖覆盖,数字为 2 的方块必须用 $1 \times 2$ 的瓷砖覆盖。数字为 ? 的方块可以用任何类型的瓷砖覆盖。

确定是否存在这样的瓷砖摆放方式。

约束

  • $1 \leq H,W \leq 300$
  • $H$ 和 $W$ 是整数。
  • $c_{i,j}$ 可以是 12 或者 ?

输入

从标准输入读入数据,格式如下:

HH WW

c1,1c1,2c1,Wc_{1,1}c_{1,2} \ldots c_{1,W}

\vdots

cH,1cH,2cH,Wc_{H,1}c_{H,2} \ldots c_{H,W}

输出

如果存在满足问题描述中条件的瓷砖摆放方式,则输出 Yes;否则输出 No


3 4
2221
?1??
2?21
Yes

例如,下面的摆放方式满足题目条件。


3 4
2?21
??1?
2?21
No

没有满足条件的摆放方式。


5 5
11111
11111
11211
11111
11111
No