P7683洗劫四空 | ||
|
问题描述
p6pou终究是将nodgd的商店洗劫一空了,将得到的若干件商品堆放在一片空地上。
这是一块 \(m\times n\) 的矩形区域,上面有 \(m\times n\) 个边长为 $1$ 的格子,每个格子上都对方了一些商品。每件商品都是用正方体纸箱包装好的,长宽高都是 $1$ 。为了方便描述,假设这个区域的“东南西北”方向如下面的例子中标示。

p6pou想请你给这些商品拍个照片。
首先,p6pou规定,每件商品都严格按照如下格式摆放,不会做出任何翻转和旋转。左侧是照片上应该呈现出来的图样,右侧为对应每一个位置符号的十进制ASCII,其中ASCII为 $32$ 的符号为空,在良好的光学环境下,p6pou将 \(T\) 束平行光同时照射在这些积木上。这些平行光首先满足一定是红绿蓝三基色之一。

其次,若建立三维直角坐标系 \((x, y, z)\),其中 \(z\) 方向以上为正方向,\(x\) 方向以东为正方向,\(y\) 方向以南为正方向,则我们最多会考虑 $9$ 个方向的不同平行光作为入射光,其中入射光的方向总可以表示为 \((u,v,1)\) 的形式,其中 \(u,v \in \{−1, 0, 1\}\) 。也就是说,它们的入射方向可以被描述为:
西北方ω仰角 正北方45°仰角 东北方ω仰角
正西方45°仰角 垂直从上入射光 正东方45° 仰角
西南方ω仰角 正南方45°仰角 东南方ω仰角
其中 \(\omega=\arctan\frac{\sqrt2}2\) 。
对于每件商品来说,可能被拍照的三个面被分为 $12$ 个小三角形,如下所示(用符号 0,1,...,9,a,b
分别表示每个小三角形在照片中对应的区域)。
+-------+
/5\7777'/|
/55.*'88/9|
/.6666\8/9/|
+-------+9.0|
|\44444/|\:0|
|1\444/3|b*0|
|11\4/33|b:\|
|111X333|b'a+
|11/2\33|/a/
|1/222\3|a/
|/22222\|/
+-------+
可以证明,每个小三角形上照射到的光总是相同的。如果一个面上收到了多条光线的照射,那么根据光线颜色叠加原理将有可能叠加得到其他颜色,颜色叠加原理如下图所示。这里认为同色光不会叠加,也就是说两束红色光和一束色绿色光叠加后仍然是黄色光,一束红色光和两束绿色光叠加后也仍然是黄色光,且这两个黄色光没有差异。

其中
- 红、绿、蓝三基色用字母
R,G,B
来表示; - 二次叠加后得到的三种颜色青、黄、紫,分别用
C,Y,P
来表示; - 三次叠加后得到的白色,用
W
表示; - 未被任何光线照射的区域时黑色,用
K
表示。
输入格式
第一行两个正整数 \(m,n\) ,表示区域有 \(m\) 行 \(n\) 列。
之后的 \(m\) 行,依次由远及近的描述每行的情况。每行输入 \(n\) 个正整数,表示第 \(i\) 行第 \(j\) 列堆放了多少件商品。
之后的三行,每行三个字符,描述 $9$ 个对应方向(与地图描述方向相同)的光照颜色。这九个方向依次如题目中所述。其中每个字符为 R,G,B,*
之一,表示光的颜色,或者这个方向上没有入射光。
输出格式
输出拍照的照片。输出结果中不能包含前导空行,文件以换行符结尾但也没有额外的空行。输出的第一列不能全是空格,且每行的末尾也没有额外的空格。可以参考样例来理解题意。
提示
样例1
样例输入
2 2
2 1
1 1
R**
***
**G
样例输出
+-------+
/Y\YYYY'/|
/YY.*'YY/G|
/.YYYY\Y/G/|
+-------+G.G|
|\GGGGG/|\:G|
|G\GGG/G|G*G|
|GG\G/GG|G:\|
|GGGXGGG|G'G+-------+
|GG/G\GG|/G/G\YYYY'/|
|G/GGG\G|G/GG.*'YY/G|
|/GGGGG\|/.GGGG\Y/G/|
+-------+-------+G.G|
/Y\GGGG'/G\GGGG'/|\:G|
/YY.*'GG/GG.*'GG/G|G*G|
/.YYYY\G/.GGGG\G/G/|G:\|
+-------+-------+G.G|G'G+
|\GGGGG/|\GGGGG/|\:G|/G/
|G\GGG/G|G\GGG/G|G*G|G/
|GG\G/GG|GG\G/GG|G:\|/
|GGGXGGG|GGGXGGG|G'G+
|GG/G\GG|GG/G\GG|/G/
|G/GGG\G|G/GGG\G|G/
|/GGGGG\|/GGGGG\|/
+-------+-------+
样例2
样例输入
3 4
1 1 2 1
1 2 1 2
2 1 2 1
**B
***
R*G
样例输出
+-------+
/W\WWWW'/|
/WW.*'WW/C|
/.WWWW\W/C/|
+-------+-------+-------+
/W\WWWW'/|\YYYYY/W\WWWW'/|
/WW.*'WW/C|G\YYY/WW.*'WW/C|
/.WWWW\W/C/|GG\Y/.WWWW\W/C/|
+-------+-------+-------+-------+C.C|---+
/W\WWWW'/|\YYYYY/W\WWWW'/|\YYYYY/|\:C|C'/|
/WW.*'WW/C|G\YYY/WW.*'WW/C|G\YYY/Y|C*C|C/C|
/.WWWW\W/C/|GG\Y/.WWWW\W/C/|GG\Y/YY|C:\|/C/|
+-------+C.G|GGG+-------+C.G|GGGXYYY|C'C+C.C|
|\YYYYY/|\:G|GG/|\YYYYY/|\:G|GG/G\YY|/C/|\:C|
|Y\YYY/Y|C*G|G/K|Y\YYY/Y|C*G|G/GGG\Y|C/C|C*C|
|YY\Y/YY|C:\|/KK|YY\Y/YY|C:\|/GGGGG\|/C/|C:\|
|YYYXYYY|C'G+---|YYYXYYY|C'G+-------+C.C|C'C+
|YY/Y\YY|/G/G\KK|YY/Y\YY|/G/G\GGGG'/|\:C|/C/
|Y/YYY\Y|G/GG.*'|Y/YYY\Y|G/GG.*'WW/C|C*C|C/
|/YYYYY\|/.YYYY\|/YYYYY\|/.WWWW\W/C/|C:\|/
+-------+-------+-------+-------+C.C|C'C+
|\YYYYY/|\YYYYY/|\YYYYY/|\YYYYY/|\:C|/C/
|Y\YYY/Y|Y\YYY/Y|Y\YYY/Y|Y\YYY/Y|C*C|C/
|YY\Y/YY|YY\Y/YY|YY\Y/YY|YY\Y/YY|C:\|/
|YYYXYYY|YYYXYYY|YYYXYYY|YYYXYYY|C'C+
|YY/Y\YY|YY/Y\YY|YY/Y\YY|YY/Y\YY|/C/
|Y/YYY\Y|Y/YYY\Y|Y/YYY\Y|Y/YYY\Y|C/
|/YYYYY\|/YYYYY\|/YYYYY\|/YYYYY\|/
+-------+-------+-------+-------+
样例解释

数据范围
对于15%的数据,没有入射光;
对于另外40%的数据,只有东南方有一束入射光;
对于100%的数据, $1\leq n,m\leq 100$ ,每个位置堆放商品不超过 $100$ 件。入射光可能是 R,G,B,*
的任意一种,至多 $9$ 束入射光。
存在25%的数据,商品总数不超过 $1000$ 个。