QOJ.ac

QOJ

Time Limit: 2 s Memory Limit: 2048 MB Total points: 100

#15624. U-Shaped Panels

統計

あなたの家の裏庭に長方形の池があります。池の縦と横の長さは1メートルの整数倍であるため、池は1メートル四方の区画から構成されているとみなすことができます。

あなたはいつも池が大きすぎると感じており、納屋に保管されているパネルを使って池のいくつかの区画を覆いたいと考えています。これらのパネルはすべて同じサイズ、同じ形状をしており、1メートル四方の板をU字型に配置したものです。パネル全体のサイズは $k$ メートル $\times$ $k$ メートルで、その正方形の3つの辺に沿って $3k - 2$ 枚の板が配置されています。残りの $(k - 2) \times (k - 1)$ の長方形領域は空洞です。図H.1は $k = 5$ のパネルを示しています。

図H.1. サイズ $k = 5$ のパネル(左)と上面図(右)

あなたは、池の特定の1メートル四方の区画をパネルで覆い、残りを覆わないままにする計画を立てています。パネルは、それぞれの板がちょうど1つの区画に収まるように配置する必要があります。この条件が満たされる限り、パネルの向きは任意に選択できます。パネル同士が重なったり、池からはみ出したりしてはいけません。

あなたの計画が実現可能かどうかを判定してください。

入力

入力には1つ以上のテストケースが含まれます。入力の最初の行には、テストケースの数を示す整数 $t$ ($1 \le t \le 10$) が含まれます。続いて $t$ 個のテストケースがそれぞれ以下の形式で記述されます。

$n$ $m$ $k$ $s_1$ $\vdots$ $s_n$

最初の行には3つの整数 $n$、$m$、$k$ が含まれます。整数 $n$ と $m$ はそれぞれ池の縦と横の長さを表します ($5 \le n \le 1000$, $5 \le m \le 1000$)。整数 $k$ はU字型パネルのサイズを表します ($5 \le k \le 1000$)。続く $n$ 行はあなたの計画を表します。そのうち $i$ 番目の行には、'#' と '.' からなる長さ $m$ の文字列 $s_i$ が含まれます。1メートル四方の区画が、手前の端から $r - 1$ メートルから $r$ メートル、左端から $c - 1$ メートルから $c$ メートルの位置にあるとき、その区画を $(r, c)$ と呼ぶことにします。各 $i, j$ について、$s_i$ の $j$ 番目の文字が '#' である場合、$(i, j)$ の区画はパネルの板で完全に覆われる必要があります。そうでない場合、その区画は完全に覆われないままにする必要があります。

すべてのテストケースにおける $n$ の合計は1000を超えません。$m$ についても同様です。

出力

各テストケースについて、計画が実現可能であれば yes を、そうでなければ no を1行に出力してください。

入出力例

入力 1

1
10 10 5
..........
..........
....#####.
..#.#.#.#.
..#.#.#.#.
..#.#.#.#.
..#.#.#.#.
..#####...
..........
..........

出力 1

yes

入力 2

2
5 21 5
.#...##...###....##..
.#..#..#..#..#..#..#.
.#..#.....###...#....
.#..#..#..#.....#..#.
.#...##...#......##..
6 14 6
.############.
.#..........#.
.#..........#.
.#..........#.
.#..........#.
.############.

出力 2

no
yes

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.