A2957 | 方块转换 Transformations
时间限制1s
内存限制128MB
通过 / 提交0/0
题目描述
一块 $n \times n$ 正方形的黑白瓦片的图案要被转换成新的正方形图案。写一个程序来找出将原始图案按照以下列转换方法转换成新图案的最小方式:
- 转 $90\degree$:图案按顺时针转 $90\degree$。
- 转 $180\degree$:图案按顺时针转 $180\degree$。
- 转 $270\degree$:图案按顺时针转 $270\degree$。
- 反射:图案在水平方向翻转(以中央铅垂线为中心形成原图案的镜像)。
- 组合:图案在水平方向翻转,然后再按照 $1 \sim 3$ 之间的一种再次转换。
- 不改变:原图案不改变。
- 无效转换:无法用以上方法得到新图案。
如果有多种可用的转换方法,请选择序号最小的那个。
只使用上述 $7$ 个中的一个步骤来完成这次转换。
- 转 $90\degree$:图案按顺时针转 $90\degree$。
- 转 $180\degree$:图案按顺时针转 $180\degree$。
- 转 $270\degree$:图案按顺时针转 $270\degree$。
- 反射:图案在水平方向翻转(以中央铅垂线为中心形成原图案的镜像)。
- 组合:图案在水平方向翻转,然后再按照 $1 \sim 3$ 之间的一种再次转换。
- 不改变:原图案不改变。
- 无效转换:无法用以上方法得到新图案。
如果有多种可用的转换方法,请选择序号最小的那个。
只使用上述 $7$ 个中的一个步骤来完成这次转换。
输入格式
第一行一个正整数 $n$。
然后 $n$ 行,每行 $n$ 个字符,全部为
接下来 $n$ 行,每行 $n$ 个字符,全部为
然后 $n$ 行,每行 $n$ 个字符,全部为
@ 或 -,表示初始的正方形。接下来 $n$ 行,每行 $n$ 个字符,全部为
@ 或 -,表示最终的正方形。输出格式
单独的一行包括 $1 \sim 7$ 之间的一个数字(在上文已描述)表明需要将转换前的正方形变为转换后的正方形的转换方法。
输入输出样例
输入 #1
3 @-@ --- @@- @-@ @-- --@
输出 #1
1
【数据范围】
对于 $100\%$ 的数据,$1\le n \le 10$。
对于 $100\%$ 的数据,$1\le n \le 10$。
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted