题目描述
您在玻璃工厂中工作,该工厂是组装双层玻璃:将两块相同规格的正方形玻璃叠在一起,合成一个更坚固的正方形玻璃。
不幸的是,玻璃有时会存在缺陷。但是,由于每层玻璃都是正方形的,因此可以以最佳方式翻转和旋转它们(看样例可以加深理解),以最大程度地减少合成后的玻璃的缺陷。
一块玻璃可以看出是一个N 行N 列的二维格子,其中‘.’表示好格子,‘X’表示有缺陷的格子。
假设两层玻璃都已旋转并翻转到最佳后,输出最终合成产品中有缺陷的格子的最小数量。
输入
一个整数N。 1<=N<=50。
接下来是一个N 行N 列的二维格子,表示第1 层玻璃。
接下来是一个N 行N 列的二维格子,表示第2 层玻璃。
输出
一个整数,合成后的玻璃的缺陷格子的最小值。
样例输入输出
输入#2
复制
3
...
..X
...
X..
...
...
输入#3
复制
3
...
...
...
...
.XX
...
输入#4
复制
3
.XX
...
...
X..
...
X..
输入#5
复制
4
XX..
X...
XX..
X...
XXXX
X.X.
....
....
提示
【样例解释】
1.把其中一层玻璃旋转一下,合成后的玻璃只有1个有缺陷的格子
5.旋转操作和翻转操作都要用上。