B - Brindled Torus 解説 /

実行時間制限: 2 sec / メモリ制限: 1024 MiB

配点 : 100

問題文

以下の条件を全て満たす長方形グリッドを 1 つ構築してください。
但し、そのような長方形グリッドが存在しない場合はその旨を報告してください。

  • グリッドのマスの総数は 1 以上 2 \times 10^5 以下である
  • グリッドの各マスは白または黒のいずれかで塗られている
  • グリッド全体において、白く塗られたマスの数と黒く塗られたマスの数の比は A:B である
  • グリッドの各マスについて、そのマスに隣接するマスのうち少なくとも一つは、そのマスと異なる色で塗られている

ただし、グリッドの行数を H、列数を W とし、上から i+1 行目 左から j+1 列目のマスを (i, j) と表すとき、

(i, j) に隣接するマスとは、((i-1)\bmod H, j)((i+1)\bmod H, j)(i, (j-1)\bmod W)(i, (j+1)\bmod W) の高々 4 つのマスを指すものとします。

T 個のテストケースが与えられるので、それぞれについて答えてください。

制約

  • 入力は全て整数
  • 1 \le T \le 10
  • 0 \le A \le 1000
  • 0 \le B \le 1000
  • A + B \gt 0
  • \gcd(A, B) = 1

入力

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

T
case_1
case_2
\vdots
case_T

各テストケース case_i (1 \le i \le T) は以下の形式である。

A B

出力

以下の形式で標準出力に出力せよ。

out_1
out_2
\vdots
out_T

各テストケース case_i に対する出力 out_i (1 \le i \le T) は以下の形式である。

条件を満たす長方形グリッドが存在する場合は、次の形式で出力せよ。存在しない場合は -1 を出力せよ。

H W
c_{0,0} c_{0,1} \cdots c_{0,W-1}
c_{1,0} c_{1,1} \cdots c_{1,W-1}
\vdots
c_{H-1,0} c_{H-1,1} \cdots c_{H-1,W-1}

H はグリッドの行数を、W はグリッドの列数を表す。1 \le H \times W \le 2 \times 10^5 でなければならない。 c_{i, j}(i, j) が白く塗られているとき .、黒く塗られているとき @ である。


入力例 1

3
1 2
1 1
0 1

出力例 1

3 4
.@@@
.@.@
.@@@
6 6
@.@.@.
.@.@.@
@.@.@.
.@.@.@
@.@.@.
.@.@.@
-1

1 番目のテストケースについて、白く塗られたマスの数は 4、黒く塗られたマスの数は 8 で、4:8 = 1:2 です。黒く塗られたマスに隣接するマスのうち少なくとも一つは白く塗られており、白く塗られたマスに隣接するマスのうち少なくとも一つは黒く塗られているため、条件を満たします。正答はこの他にも複数存在します。

3 番目のテストケースについて、全てのマスが黒く塗られた長方形グリッドで条件を満たすものはありません。