P8242 [COCI 2013/2014 #3] OKVIR

题目描述

Mirko 制作出了一个绝妙的纵横字谜,现在他想把这个纵横字谜用边框给框起来。 Mirko 的纵横字谜可以看作是一个 $m\times n$ 的网格图,每个格子上都有一个小写字母。他希望上面、左边、右边和下面的边框的宽度分别为 $u,l,r,d$。边框上也被分割成若干个网格,每个网格上要么是 `#`,要么是 `.`。他还希望,如果框架扩展到整个字谜上,那么左上角的网格必定是 `#`,且相邻网格上的字符不能相同。当然,如果该网格原来是纵横字谜上的,那么最终制作边框时应当保留字谜网格上的原有字母,而不是 `#` 或 `.`。 现在,请你帮 Mirko 得到最终框起来的字谜的所有网格上的字符。 如果你不能很好地理解题意,请参考本题的样例。

输入格式

第一行输入两个整数 $m,n$,分别表示行数和列数。 第二行输入四个整数 $u,l,r,d$,分别表示上面、左边、右边和下面的边框的宽度。 随后 $m$ 行,每行输入 $n$ 个字符,描述字谜的所有网格上的字符。

输出格式

输出 $u+m+d$ 行,每行输出 $l+n+r$ 个字符,表示框起来的字谜的所有网格上的字符。

说明/提示

**【数据范围与限制】** 对于所有数据,$1\leqslant m,n\leqslant 10$,$0\leqslant u,l,r,d\leqslant 5$。 **【题目来源】** 本题来源自 **_[COCI 2013-2014](https://hsin.hr/coci/archive/2013_2014/) [CONTEST 3](https://hsin.hr/coci/archive/2013_2014/contest3_tasks.pdf) T2 OKVIR_**,按照原题数据配置,满分 $80$ 分。 由 [Eason_AC](https://www.luogu.com.cn/user/112917) 翻译整理提供。