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$。