SP1270 PNTBYNUM - Paint By Numbers
题目描述
多年前,曾流行过一种叫做「数字填色」的手工艺术:你会拿到一幅线条图,图中的每个封闭区域里都有一个数字,该数字代表一种特定的颜色。下图展示了一个例子(左图是未完成的,右图是完成的):

(图片来源于 [ThisLife.org](http://thislife.org/paintings/))
你需要解决的问题在某种程度上与此类似,但更具线性特点。
你将获得一个 $n \times m$ 的网格($1 \le n, m \le 20$)。不过,网格的信息并不是以通常的「数字填色」方式给出的,因为那样问题就太简单了。
相反,你需要根据提供的线索推断哪些单元格应该是空白的,哪些应该包含星号。你将得到 $n + m$ 个数字序列,分别对应每行和每列。每个序列表示每个连续星号块的长度。注意,两个连续的星号块之间至少要有一个空白点。
下面是一个例子,形状看起来像鱼:

有些数字填色图案可能不止一种解法。在本题中,你可以假设任何一个符合要求的解都是正确的。
输入格式
输入首先包含一个整数,表示测试用例的数量。每个测试用例由 $n + m + 2$ 行组成。测试用例的第一行是一个整数 $n$($1 \le n \le 20$),接着一行是整数 $m$($1 \le m \le 20$)。接下来的 $n$ 行中,每行由一组空格分隔的正整数构成,表示从上到下的 $n$ 行,每个序列以 0 结尾。接下来的 $m$ 行描述从左到右的 $m$ 列,格式同样是由数字序列构成。
输出格式
对于每个测试用例,输出 $n$ 行,每行包含 $m$ 个字符,用点(`.`)表示空白,用星号(`*`)表示星号单元。不同测试用例之间请用一个空行隔开。
**本翻译由 AI 自动生成**