#P2470. 2470 - 方块转换(Transformations)

2470 - 方块转换(Transformations)

题目描述

一块 N×NN \times N1N101 \le N \le 10 )正方形的黑白瓦片的图案要被转换成新的正方形图案。

写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式:

  1. 转 $90$ 度:图案按顺时针转 $90$ 度;
  2. 转 $180$ 度:图案按顺时针转 $180$ 度;
  3. 转 $270$ 度:图案按顺时针转 $270$ 度;
  4. 反射:图案在水平方向翻转(形成原图案的镜像);
  5. 组合:图案在水平方向翻转,然后按照 $1-3$ 之一转换;
  6. 不改变:原图案不改变;
  7. 无效转换:无法用以上方法得到新图案。
如果有多种可用的转换方法,请选择序号最小的那个。

输入

第一行: 单独的一个整数 NN

第二行到第 N+1N+1 行: NN 行每行 NN 个字符(不是"@"就是"-");这是转换前的正方形。

N+2N+2 行到第 2×N+12\times N+1 行: NN 行每行 NN 个字符(不是"@"就是"-");这是转换后的正方形。

输出

单独的一行包括 1177 之间的一个数字(在上文已描述)表明需要将转换前的正方形变为转换后的正方形的。

样例

3
@-@
---
@@-
@-@
@--
--@
1

来源

USACO Section1.2