atcoder#DDCC2020QUALC. Strawberry Cakes

Strawberry Cakes

题目描述

chokudai さんは,DDCC 2020 本戦で参加者に配る長方形のケーキを用意しました.

このケーキは,H  1 H\ -\ 1 本の横方向の切れ目と W  1 W\ -\ 1 本の縦方向の切れ目により,H × W H\ \times\ W 個の区画に等分されています.これらの区画のうち K K 個には,それぞれイチゴが 1 1 個乗っています.

イチゴの位置は,H × W H\ \times\ W 個の文字 si, j s_{i,\ j} (1  i  H, 1  j  W) (1\ \leq\ i\ \leq\ H,\ 1\ \leq\ j\ \leq\ W) によって与えられます.si, j s_{i,\ j} # のとき,上から i i 行目,左から j j 列目の区画にイチゴが乗っており,si, j s_{i,\ j} . のとき乗っていません.# はちょうど K K 個出現します.

さて,chokudai さんはこのケーキを切れ目に沿って K K 個のピースに切り分け,参加者に配布したいです.ただし,すべてのピースは以下の条件を満たさなければなりません.

  • 形状は長方形である.
  • ちょうど 1 1 個のイチゴを含む.

例えば,次のような例が考えられます.

条件を満たすケーキの切り分け方を 1 1 つ求めてください.このような切り分け方は,イチゴの個数や位置にかかわらず必ず存在することが示せます.

输入格式

入力は以下の形式で標準入力から与えられます.

H H W W K K s1, 1 s1, 2  s1, W s_{1,\ 1}\ s_{1,\ 2}\ \cdots\ s_{1,\ W} s2, 1 s2, 2  s2, W s_{2,\ 1}\ s_{2,\ 2}\ \cdots\ s_{2,\ W} : : sH, 1 sH, 2  sH, W s_{H,\ 1}\ s_{H,\ 2}\ \cdots\ s_{H,\ W}

输出格式

切り分け後の K K 個のピースに任意の順で 1, 2, 3, , K 1,\ 2,\ 3,\ \dots,\ K の番号を付け,上から i i 行目,左から j j 列目の区画が属するピースの番号を ai, j a_{i,\ j} として,次の形式で出力してください.

a1, 1 a1, 2  a1, W a_{1,\ 1}\ a_{1,\ 2}\ \cdots\ a_{1,\ W} a2, 1 a2, 2  a2, W a_{2,\ 1}\ a_{2,\ 2}\ \cdots\ a_{2,\ W} : : aH, 1 aH, 2  aH, W a_{H,\ 1}\ a_{H,\ 2}\ \cdots\ a_{H,\ W}

複数の切り分け方が考えられる場合,そのうちのどれを出力しても構いません.

题目大意

有一个 H×WH\times W 的长方形蛋糕,把它切成 KK 个小长方形蛋糕,每个蛋糕都要包含 11 个草莓。保证有合法方案。


输入第一行三个整数 H,W,KH,W,K 如题意。

接下来 HH 行每行 WW 个字符,所以字符都是 .#。如果第 iijj 列是 # ,说明这个位置有草莓。

输出 HH 行每行 WW 个整数,每个数为 1,2,3,..,K1,2,3,..,K 中的一个,表示该位置属于的蛋糕块编号。

3 3 5
#.#
.#.
#.#
1 2 2
1 3 4
5 5 4
3 7 7
#...#.#
..#...#
.#..#..
1 1 2 2 3 4 4
6 6 2 2 3 5 5
6 6 7 7 7 7 7
13 21 106
.....................
.####.####.####.####.
..#.#..#.#.#....#....
..#.#..#.#.#....#....
..#.#..#.#.#....#....
.####.####.####.####.
.....................
.####.####.####.####.
....#.#..#....#.#..#.
.####.#..#.####.#..#.
.#....#..#.#....#..#.
.####.####.####.####.
.....................
12 12 23 34 45 45 60 71 82 93 93 2 13 24 35 35 17 28 39 50 50
12 12 23 34 45 45 60 71 82 93 93 2 13 24 35 35 17 28 39 50 50
12 12 56 89 89 89 60 104 82 31 31 46 13 24 35 35 61 61 39 50 50
12 12 67 67 100 100 60 9 9 42 42 57 13 24 6 72 72 72 72 72 72
12 12 78 5 5 5 20 20 20 53 68 68 90 24 6 83 83 83 83 83 83
16 16 27 38 49 49 64 75 86 97 79 79 90 101 6 94 94 105 10 21 21
16 16 27 38 49 49 64 75 86 97 79 79 90 101 6 94 94 105 10 21 21
32 32 43 54 65 65 80 11 106 95 22 22 33 44 55 55 70 1 96 85 85
32 32 43 54 76 76 91 11 106 84 84 4 99 66 66 66 81 1 96 74 74
14 14 3 98 87 87 102 11 73 73 73 4 99 88 77 77 92 92 63 63 63
25 25 3 98 87 87 7 29 62 62 62 15 99 88 77 77 103 19 30 52 52
36 36 47 58 69 69 18 29 40 51 51 26 37 48 59 59 8 19 30 41 41
36 36 47 58 69 69 18 29 40 51 51 26 37 48 59 59 8 19 30 41 41

提示

制約

  • 1  H  300 1\ \leq\ H\ \leq\ 300
  • 1  W  300 1\ \leq\ W\ \leq\ 300
  • 1  K  H × W 1\ \leq\ K\ \leq\ H\ \times\ W
  • si, j s_{i,\ j} # または .
  • #s s にちょうど K K 個出現する

Sample Explanation 1

例えば,下の図の方法で切り分けることができます. ![ ](https://img.atcoder.jp/ddcc2020-qual/d09e88243931000a04e555892fe7e6c9.png)

Sample Explanation 2

例えば,下の図の方法で切り分けることができます. ![ ](https://img.atcoder.jp/ddcc2020-qual/18d0f45847f5d107ac0322aecea39835.png)