問題一覧 > 通常問題

No.883 ぬりえ

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 113
作問者 : QCFiumQCFium / テスター : e869120e869120
8 ProblemId : 3339 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2021-01-05 14:33:19

問題文

あなたは行数と列数が等しいグリッドを一つ作ってそのうちちょうど$N$個のマスを黒く塗りたいと思っています。
但し一つの行又は列にある黒マスの数は高々$K$個でなければなりません。
グリッドの行数の最小値を出力した上で、その行数で実際にどのマスを黒く塗れば良いかを出力してください。

入力

$N\ K$

$1 \le K \le N \le 1000$
$K$及び$N$は整数

出力

次の形式で出力してください。

$M$
$A_{1,1}A_{1,2}A_{1,3}\dots A_{1,M}$
$A_{2,1}A_{2,2}A_{2,3}\dots A_{2,M}$
$A_{3,1}A_{3,2}A_{3,3}\dots A_{3,M}$
$\hspace{7pt} \vdots \hspace{17pt} \vdots \hspace{16pt} \vdots \hspace{9pt} \ddots \hspace{8pt} \vdots$
$A_{M,1}A_{M,2}A_{M,3}\dots A_{M,M}$
$M$は答えの行数(=列数)を表し、条件を満たすグリッドの行数の最小値でなければなりません。
$A_{i,j}$は#又は.でなければならず、#ならグリッドの$i$行目$j$列目が黒であることを、.ならそうでないことを表します。
全ての#の個数は$N$に等しくなければならず、一つの列又は行にある#の個数は$K$を超えてはなりません。

サンプル

サンプル1
入力
8 2
出力
4
##..
##..
..##
..##

これ以外にも正答はあります。

サンプル2
入力
5 1
出力
5
#....
....#
...#.
.#...
..#..

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。