问题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..
........
来源/分类
[提交] [状态]