atcoder#ARC080B. [ABC069D] Grid Coloring

[ABC069D] Grid Coloring

题目描述

H H 行、横 W W 列のマス目があります。 すぬけ君は、このマス目を色 1 1 , 2 2 , ... ... , N N で塗り分けようとしています。 このとき、次の条件が成り立つようにします。

  • i i (1 < = i < = N 1\ <\ =\ i\ <\ =\ N ) について、色 i i のマスはちょうど ai a_i 個存在する。 ただし、a1 + a2 + ... + aN = H W a_1\ +\ a_2\ +\ ...\ +\ a_N\ =\ H\ W である。
  • i i (1 < = i < = N 1\ <\ =\ i\ <\ =\ N ) について、色 i i のマスは上下左右に連結である。 すなわち、どの色 i i のマスからどの色 i i のマスへも、上下左右に隣り合う色 i i のマスのみを辿って行き来できる。

条件を満たす塗り分け方をひとつ求めてください。 解は必ず存在することが示せます。

输入格式

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

H H W W N N a1 a_1 a2 a_2 ... ... aN a_N

输出格式

条件を満たす塗り分け方をひとつ出力せよ。 塗り分け方は次のフォーマットで出力せよ。 ただし、ci j c_{i\ j} は、上から i i 行目、左から j j 列目のマスの色である。

c1 1 c_{1\ 1} ... ... c1 W c_{1\ W} : : cH 1 c_{H\ 1} ... ... cH W c_{H\ W}

题目大意

给你一个序列aa,满足i=1nai=WH\sum\limits^{n}_{i=1}a_i=WH
请你够构造一个WHW*H的矩阵,满足:

  • 每一中颜色ii,满足矩阵中出现了aia_i
  • 要保证每一种颜色ii都是相互联通的,即为一个联通块

可以证明一定可以构造出这样的矩阵

2 2
3
2 1 1
1 1
2 3
3 5
5
1 2 3 4 5
1 4 4 4 3
2 5 4 5 3
2 5 5 5 3
1 1
1
1
1

提示

制約

  • 1 < = H, W < = 100 1\ <\ =\ H,\ W\ <\ =\ 100
  • 1 < = N < = H W 1\ <\ =\ N\ <\ =\ H\ W
  • ai > = 1 a_i\ >\ =\ 1
  • a1 + a2 + ... + aN = H W a_1\ +\ a_2\ +\ ...\ +\ a_N\ =\ H\ W

Sample Explanation 1

例えば、次の塗り分け方は条件を満たしません。 色 1 1 のマスが上下左右に連結でないからです。 1 2 3 1