CF589L Agricultural Archaeology

题目描述

最近,伯兰考古学家发现了描述古人农田的古代文字。它的形状是 $n \times m$ 的矩形,分成了 $n\times m$ 个方格。每个方格都种满了某种植物。但在古代伯兰流行的植物只有90种。 正如在古文献中所写的那样,这些植物的种植区域形成了一个正方形。如果两个正方形区域共享至少一个单元格边界,则它们相邻。古文献没有提到正方形的大小。但是它提供了一些关于相邻方格的信息。对于每个方格,已知在该方格的哪一边播种了哪种植物。形式上,每种植物的的四个方向都有植物。食物植物以任意的顺序排列在每个相邻的方格中。

输入格式

输入第一行包括 $3$ 个整数,分别为 $n$,$m$,$k$ $(1\le n,m\le 300,1\le k \le 90 )$,分别表示田地的大小和所播种的粮食作物种类的数量。 播种的粮食作物用 ASCII 码从 $33(!)$ 到 $122 (z)$ 的字符来进行编码。 下面每一行描述一种播种的粮食植物,格式为$:$ “ $s$上,右,下,左”,其中 $s$ 是该植物的编码,上、右、下、左是编码从33到122的 ASCII 字符串——对应四周相邻的方格所种植的植物 ( 每个方格中的所有字符都是唯一的,并且以任意顺序书写 )。邻居的空列表由字符' '给出,其ASCII码为126。所种粮食作物的编码各不相同。

输出格式

请输出 $n\times m$ 的字符矩阵,表示这个正方形的种植区域。输入的数据保证有解,若有多组解,输出其中一种解。