atcoder#AGC021C. [AGC021C] Tiling

[AGC021C] Tiling

题目描述

高橋君は、縦 N N マス横 M M マスのマス目を持っています。 次の条件をすべて満たすように、縦 1 1 マス横 2 2 マスのタイル A A 枚と、縦 2 2 マス横 1 1 マスのタイル B B 枚を マス目に置くことができるかどうかを判定し、可能なら置き方をひとつ構成してください。

  • マス目の上に、全てのタイルを置かなければならない。
  • タイルはマス目からはみ出してはならず、また異なるタイル同士が重なってはならない。
  • マス目やタイルを回転させてはならない。
  • 全てのタイルは、マス目のちょうど 2 2 マスを完全に覆う。

输入格式

入力は以下の形式で標準入力から与えられる。

N N M M A A B B

输出格式

タイルを全て置くことができない場合、NO を出力せよ。 そうでない場合、以下のように出力せよ。

YES c11...c1M c_{11}...c_{1M} : : cN1...cNM c_{N1}...c_{NM}

ただし、cij c_{ij} はマス目の i i j j 列目の状態を表し、文字 .,<.>,^,v のいずれかでなければならない。

cij c_{ij} が、

  • . のとき、マス目の i i j j 列目はタイルで覆われていないことを、
  • < のとき、マス目の i i j j 列目は縦 1 1 マス、横 2 2 マスのタイルの左半分で覆われていることを、
  • > のとき、マス目の i i j j 列目は縦 1 1 マス、横 2 2 マスのタイルの右半分で覆われていることを、
  • ^ のとき、マス目の i i j j 列目は縦 2 2 マス、横 1 1 マスのタイルの上半分で覆われていることを、
  • v のとき、マス目の i i j j 列目は縦 2 2 マス、横 1 1 マスのタイルの下半分で覆われていることを、

それぞれ表す。

题目大意

能否在 n×mn\times m 的棋盘上放 AA1×21\times 2 的砖和 BB2×12\times 1 的砖?如果能,构造出方案。

1n,m1031\le n,m\le{10}^31A,B5×1051\le A,B\le 5\times{10}^5

3 4 4 2
YES
<><>
^<>^
v<>v
4 5 5 3
YES
<>..^
^.<>v
v<>.^
<><>v
7 9 20 20
NO

提示

制約

  • 1  N,M  1000 1\ \leq\ N,M\ \leq\ 1000
  • 0  A,B  500000 0\ \leq\ A,B\ \leq\ 500000
  • N,M,A,B N,M,A,B は整数である

Sample Explanation 1

3 3 マス横 4 4 マスのマス目に、縦 1 1 マス横 2 2 マスのタイル 4 4 枚と、縦 2 2 マス横 1 1 マスのタイル 2 2 枚を置く方法の一例として、 出力例のようなものがあります。