SP26183 JC15E - Laser Beam 2.0

题目描述

**激光实验 2.0** ![](https://cdn.luogu.com.cn/upload/vjudge_pic/SP26183/c44be50eb32d785c2f10f2f069cf24ab5c88ab29.png) 激光是一种可以在镜子上反射的光束。Satria 喜欢大自然的美景,他用镜子网格和一些激光做了一个实验,这是他第二次进行这样的实验,所以他命名为“激光实验 2.0”。这个实验十分出色,很多人被它的美丽图案所吸引。 有一天,当 Satria 不在家的时候,他的朋友 Gunawan 因为好奇偷偷摆弄 Satria 的激光和镜子。不幸的是,他无意中让两束不同电荷的激光相交,这导致所有的镜子被毁坏,Satria 的实验也被破坏。 幸运的是,Satria 的激光输入/输出蓝图并没有损坏,但镜子如何排列的图纸在火灾中被烧毁了,无法读取。Satria 很沮丧,他不得不从头开始重建实验。 Tjandra 听说了这个不幸事件,来到了 Satria 的家。他认为 Satria 不必从头再来,因为激光输入的蓝图仍然完好。 Satria 说:“我们能不能恢复这个实验?虽然输入输出的蓝图还在,但我们不知道如何让激光从入口射到出口。” Tjandra 回答:“这要看你的蓝图设计得如何。我能更多地了解一下你的实验和蓝图吗?” Satria 说道:“我的实验由一个二维的镜子网格和每侧(共有四侧)的激光组成,每个激光都射入网格中。有两种镜子,斜向上的‘/’和斜向下的‘\\’。根据我的观察,斜向上的‘/’镜子将激光按照以下规则反射:{左到上;上到左;右到下;下到右};而斜向下的‘\\’镜子则按照以下规则反射:{左到下;下到左;右到上;上到右}。蓝图只告诉我们激光如何相连,经过多次反射后,激光最终将离开网格并与另一束激光相遇,这种现象我们称为两束激光‘连接’。在蓝图中,每个数字恰好出现两次,意味着相同编号的激光是‘连接’在一起的。这就是我的实验和输入/输出蓝图的工作原理。所以,我们能通过这些蓝图重建丢失的镜子图吗?” Tjandra 回答:“是可以的,不过得到的镜子排列方式可能与原来的不一样,因为满足输入/输出条件的镜子排列方式不唯一。” Satria 说道:“没关系,只要满足输入/输出蓝图,就能呈现出我想要的美。” Tjandra 很高兴地回答:“听到这话我很欣慰。好的,我认识一个编程天才,我会请他来帮你恢复实验。” 于是,Tjandra 用他的旧手机联系了你,因为他相信你可以帮忙恢复这个实验。你能帮助他们吗?

输入格式

第一行包含两个整数 $X$ 和 $Y$,分别表示 Satria 的镜子网格的行数和列数。 第二行包含 $Y$ 个整数,表示顶部网格上自顶向下的激光排列。 接下来的 $X$ 行中,每行包含两个整数 $A_i$ 和 $B_i$: - $A_i$ 表示左侧网格从上到下的第 $i$ 束激光,方向初始向右。 - $B_i$ 表示右侧网格从上到下的第 $i$ 束激光,方向初始向左。 最后一行包含 $Y$ 个整数,表示底部网格上自下向上的激光排列。

输出格式

如果无法重建 Satria 的镜子蓝图,输出 `-1`。 否则,输出 $X$ 行 $Y$ 列的镜子蓝图。`/` 表示斜向上镜子,`\` 表示斜向下镜子。

说明/提示

$1 \le X, Y \le 10$。 除了 $X$ 和 $Y$ 之外,输入中的每个数��恰好出现两次。 **输入输出示例** 以下是几个输入输出示例及其解释。 **样例 1** 输入: ``` 1 1 1 1 2 2 ``` 输出: ``` / ``` **样例 2** 输入: ``` 1 1 1 2 1 2 ``` 输出: ``` \ ``` **样例 3** 输入: ``` 3 1 1 1 3 2 2 3 4 4 ``` 输出: ``` -1 ``` **样例 4** 输入: ``` 3 1 1 1 2 3 2 3 4 4 ``` 输出: ``` / \ / ``` **样例 5** 输入: ``` 4 7 7 7 8 9 10 10 2 1 2 1 3 4 3 5 6 5 4 8 9 11 11 6 ``` 输出: ``` \/\\\/\ ////\// /\\\\\\ /////\/ ``` **样例 5 解释** 如果输入中的每对数字都正确连接,就满足 Satria 的输入/输出蓝图要求。以下图示解释样例 5 的输出如何符合要求。 ![](https://cdn.luogu.com.cn/upload/vjudge_pic/SP26183/4be5a6635483c74f233f41883477bf163a0362fc.png) **本翻译由 AI 自动生成**