P7239 3D Cube
题目背景
**此题数据纯手造,并有手玩验证。**
idea & data:[zrmpaul](/user/226760)
tester:[Hilarious_Reality](/user/80049)
--------
小 Z 喜欢三维模型,并从不同角度进行细致的观察。
题目描述
小 Z 拿到了一个二维矩阵。底面可以看作一个 $n \times m$ 的方格纸。
在每一个格子上,可以放任意个方块。由于有地心引力,方块不会悬空,且不会用胶水粘住。
他给出了这个三维矩阵的三视图,请你构造一个方块组,满足以下条件:
对于每一行、每一列,最多只有一个“**峰**”出现。特别地,底层矩阵的周围的高度被视为 $0$。如 `12321` 是一个“峰”,而 `13231` 有两个“峰”。
再举一些例子:
|方块排列|“峰”的数量|
|:----:|:----:|
|$\texttt{123}$|$1$|
|$\texttt{212}$|$2$|
|$\texttt{122221}$|$1$|
|$\texttt{00011000}$|$1$|
|$\texttt{10010101}$|$4$|
求出需要**最少**方块的矩阵。如果无解,请输出 `-1`。
输入格式
第一行两个整数:$n,m$。
第二行 $n$ 个整数:左视图,第 $i$ 个整数表示左视图中第 $i$ 列的方块个数。
第三行 $m$ 个整数:主视图,第 $j$ 个整数表示主视图中第 $j$ 列的方块个数。
接下来 $n$ 行,每行 $m$ 个整数:俯视图,其中 `0` 表示没有方块,`1` 表示有方块。
输出格式
如果无解,则输出 `-1`。
否则输出共 $n$ 行,每行 $m$ 个非负整数,为构造的三维矩阵的俯视图,其中第 $i$ 行第 $j$ 个整数表示该位置上的方块个数。
**请确保按照输出格式输出,否则可能导致 SPJ 返回 UKE 等结果。**
说明/提示
### 数据范围
**本题各部分测试点采用捆绑测试。**
对于 $20\%$ 的数据:给出输入文件,程序打表输出答案,见附件 `easy.zip`。
对于 $100\%$ 的数据:$n\times m\leq25$。在俯视图中每个格子上最多有 $7\times10^8$ 个方块,且在俯视图中 `1` 的个数 $\leq20$。