atcoder#ARC093B. [ABC092D] Grid Components

[ABC092D] Grid Components

配点 : 500500

問題文

22 つの整数 A,BA, B が与えられます。

各マスが白または黒に塗られたグリッドであって以下の条件を満たすものを、出力の項で指定されたフォーマットに従って一つ出力してください。

  • グリッドの大きさを縦 hh 行横 ww 列としたとき、hh および ww はともに 100100 以下である。
  • 白く塗られたマスの集合はちょうど AA 個の連結成分に分かれている (連結成分という単語の定義については後の注釈を参照)。
  • 黒く塗られたマスの集合はちょうど BB 個の連結成分に分かれている。

制約の項で指定される条件のもとで解は必ず一つ以上存在することが証明できます。 解が複数ある場合、どれを出力しても構いません。

注釈

22 つの白く塗られたマス c1,c2c_1, c_2が連結であるとは、マス c1c_1 からマス c2c_2 へ、上下左右に隣り合うマスへの移動を繰り返して、 白く塗られたマスだけを通って移動できることを意味します。

白く塗られたマスの集合 SS が連結成分であるとは、SS が以下の条件を満たすことを意味します。

  • SS のどの 22 つのマスも連結である。
  • SS に含まれないどの白く塗られたマスと、SS に含まれるどのマスも連結ではない。

黒く塗られたマスについても連結成分を同様に定義します。

制約

  • 1A5001 \leq A \leq 500
  • 1B5001 \leq B \leq 500

入力

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

AA BB

出力

以下の形式で出力せよ。

  • 11 行目には構成したグリッドの大きさを表す整数 h,wh, w を空白を区切りとして出力せよ。
  • 続いて hh 行出力せよ。このうちの ii 行目 (1ih1 \leq i \leq h) には以下のような長さ ww の文字列 sis_i を出力せよ。- 構成したグリッドの iijj (1jw1 \leq j \leq w) 列のマスが白く塗られているならば、sis_ijj 文字目は . である。
    • 構成したグリッドの iijj (1jw1 \leq j \leq w) 列のマスが黒く塗られているならば、sis_ijj 文字目は # である。
2 3
3 3
##.
..#
#.#

この出力は以下のグリッドに対応します。

2701558bf42f7c088abad927b419472a.png

7 8
3 5
#.#.#
.#.#.
#.#.#
1 1
4 2
..
#.
##
##
3 14
8 18
..................
..................
....##.......####.
....#.#.....#.....
...#...#....#.....
..#.###.#...#.....
.#.......#..#.....
#.........#..####.