问题3699--[JSOI2009]分割方格

3699: [JSOI2009]分割方格

时间限制: 2 Sec  内存限制: 512 MB
提交: 0  解决: 0
[提交] [状态] [讨论版] [命题人:]

题目描述

有一个m*m(m<=20)的方格纸,其中有n*n个(n<=m,n<=6)放个标有“*”的记号,标有“*”的方格是联通的。 所谓的联通是指:假设有一个“车”在一个标有“*”的方格上,每次移动只能移动与原方格垂直相邻或水平相邻的标有“*”的方格上,经过有限次移动,“车”车可以到达任意另一个标有“*”的方格。(如下图) [IMG]ProblemImg/1829_1.jpg[/IMG] 现在要把这标有“*”的n*n方格分成A、B两部分,每部分都是联通的,而且这两部分经过旋转,翻转或平移之后可以拼成n*n的正方形。(若有多解,请给出任何一个) 例如上例,可以分成如下两部分,且这两部分可以拼成4*4正方形。 [IMG]ProblemImg/1829_2.jpg[/IMG]

输入

文件第一行有一个整数m,以下m行每行各有m个字符:“.”代表空格,“*”代表标有“*”记号方格。

输出

共m行每行为m个字符:“.”代表空格,“A”、“B”分别代表分割成两部分的组成方格。

样例输入

8
........
....*...
..*.*...
..***...
..****..
..*..*..
..****..
........

样例输出

........
....B...
..B.B...
..BBB...
..AABA..
..A..A..
..AAAA..
........

来源/分类

 

[提交] [状态]