atcoder#AGC021C. [AGC021C] Tiling
[AGC021C] Tiling
配点 : 点
問題文
高橋君は、縦 マス横 マスのマス目を持っています。 次の条件をすべて満たすように、縦 マス横 マスのタイル 枚と、縦 マス横 マスのタイル 枚を マス目に置くことができるかどうかを判定し、可能なら置き方をひとつ構成してください。
- マス目の上に、全てのタイルを置かなければならない。
- タイルはマス目からはみ出してはならず、また異なるタイル同士が重なってはならない。
- マス目やタイルを回転させてはならない。
- 全てのタイルは、マス目のちょうど マスを完全に覆う。
制約
- は整数である
入力
入力は以下の形式で標準入力から与えられる。
出力
タイルを全て置くことができない場合、NO
を出力せよ。
そうでない場合、以下のように出力せよ。
YES
ただし、 はマス目の 行 列目の状態を表し、文字 .
,<
.>
,^
,v
のいずれかでなければならない。
が、
.
のとき、マス目の 行 列目はタイルで覆われていないことを、<
のとき、マス目の 行 列目は縦 マス、横 マスのタイルの左半分で覆われていることを、>
のとき、マス目の 行 列目は縦 マス、横 マスのタイルの右半分で覆われていることを、^
のとき、マス目の 行 列目は縦 マス、横 マスのタイルの上半分で覆われていることを、v
のとき、マス目の 行 列目は縦 マス、横 マスのタイルの下半分で覆われていることを、
それぞれ表す。
3 4 4 2
YES
<><>
^<>^
v<>v
縦 マス横 マスのマス目に、縦 マス横 マスのタイル 枚と、縦 マス横 マスのタイル 枚を置く方法の一例として、 出力例のようなものがあります。
4 5 5 3
YES
<>..^
^.<>v
v<>.^
<><>v
7 9 20 20
NO