問題一覧 > 通常問題

No.2641 draw X

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 54
作問者 : ponjuiceponjuice / テスター : noya2noya2
4 ProblemId : 10667 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-02-19 00:46:49

問題文

縦 $H$ マス、横 $W$ マスのグリッド状の絵 $S$ があり、上から $i$ 行目・左から $j$ 列目のマスを $(i,j)$ とします。 マス $(i,j)$ は $S_{i,j}=$#のとき黒色に塗られていて、 $S_{i,j}=$.のとき色は塗られていません。

あなたは、縦 $H$ マス、横 $W$ マスのグリッド状の何も塗られていないキャンバス $T$ に、Xの形をした図形を好きな回数描くことで同じ絵を描きたいです。つまり、全ての $i,j$ に対して次の条件が成り立つようにしたいです。

  • $S_{i,j}=$ # のとき $T$ のマス $(i,j)$ は黒く塗られている。
  • $S_{i,j}=$ . のとき $T$ のマス $(i,j)$ は何も塗られていない。

あなたはこの絵を描くことができるか判定してください。

Xの形を描くとは以下のことを言います。

  • 中心となるマス $(x,y)$ とその大きさとなる整数 $r$ を決める。$(\ 2 \leq x \leq H-1,\ 2 \leq y \leq W-1, 1 \leq r \leq \min(x-1,y-1,H-x,W-y))$
  • $-r \leq k \leq r$ を満たす全ての整数$k$について、$(x+k, y+k)$ を黒く塗る。
  • $-r \leq k \leq r$ を満たす全ての整数$k$について、$(x+k, y-k)$ を黒く塗る。

制約

  • $H,W$ は整数
  • $1 \leq H, W$
  • $1 \leq H \times W \leq 10^6$
  • $S_{i,j}$ は#または.

入力

$H\ W$
$S_{1,1}S_{1,2}\cdots S_{1,W}$
$\vdots$
$S_{H,1}S_{H,2}\cdots S_{H,W}$

出力

もし描くことができるのならば Yes を、そうでなければ No を出力してください

サンプル

サンプル1
入力
5 5
#...#
.#.#.
..#.#
.#.#.
#.#.#
出力
Yes

$(3,3)$ に大きさ $2$ の X を描き、$(4,4)$ に大きさ $1$ の X を描くと、この絵を描くことができます

サンプル2
入力
3 3
#.#
.#.
###
出力
No

どのようにXを描いたとしても $(3,2)$ のマスを塗ることができません

サンプル3
入力
10 12
###.......#.
.#.#.....#..
..#.#...#...
...#.#.#....
....#.#.....
.....#.#....
....#.#.#...
...#...#.#..
..#.....#.#.
.#.......###
出力
No

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。