#440. [R71B]层层叠叠
[R71B]层层叠叠
时空限制
1S/256M
题目描述
对于一个长度为 的小写字母字符串 ,可以按照以下方式构造一个 的字符矩阵:
首先,将矩阵最上面一行、最下面一行、最左边一列和最右边一列的所有格子填入字符 。忽略这些已填充的格子后,未填充的部分仍是一个正方形,再将这个正方形最上面一行、最下面一行、最左边一列和最右边一列的所有格子填入字符 。按照这一方式不断向矩阵中心填充,第 次使用字符 。第 次时只剩下中心的一个格子填入 。字符串中不同位置的字符可以相同。称按照上述方式由字符串 构造出的矩阵为 的生成矩阵。
现在给定一个 的小写字母矩阵,判断它是否为某个长度为 的小写字母字符串的生成矩阵。如果是,还需要输出该字符串。
格式
输入格式
第一行输入一个正整数 ,表示原字符串的长度。
接下来 行,每行输入一个长度为 的小写字母字符串,表示矩阵的一行。
输出格式
如果给定矩阵不是任何长度为 的小写字母字符串的生成矩阵,输出一行 No。
否则,第一行输出 Yes,第二行输出对应的字符串 。
样例
样例输入 #1
3
aaaaa
abbba
abcba
abbba
aaaaa
样例输出 #1
Yes
abc
样例解释 #1
该矩阵是字符串 abc 的生成矩阵。
样例输入 #2
2
aaa
aba
aab
样例输出 #2
No
样例解释 #2
矩阵最上面一行、最下面一行、最左边一列和最右边一列中同时出现了字符 a 和 b,因此该矩阵不是任何字符串的生成矩阵。
数据规模
注意:你只有通过了该题目的所有测试点,才能获得分数。
对于 的数据,满足 ,输入矩阵仅包含小写英文字母。
Related
In following contests: