A5814 | 「BalticOI 2010」乐高 Lego
时间限制1s
内存限制64MB
通过 / 提交0/0
题目描述
你正在使用乐高积木来训练人工视觉系统。
本题中只有一种乐高积木—— $2 \times 2$ 的砖块。它有白(W)、灰(G)、黑(B)三种颜色。所有的积木都有无限个。
你在一个 $6 \times 6$ 的底板上砌砖块。砖块边缘必须平行于底板,且砖块不能延伸到地板的外面。每块积木必须有至少一块积木支持,也就是不能浮空(但没说不可以部分悬挂)。

<div><p style='color: grey; font-size: 13px; text-align: center' >左:将积木放在另一个积木的顶部上的一种可行的方式。中:一种非法的方式(上层积木挂在空中)。右:另一种非法方式(上方的积木延伸到底板外)。</p></div>
给出从两个角度拍摄的积木建筑的图片,试求:要建立它有多少种不同的方式。
本题中只有一种乐高积木—— $2 \times 2$ 的砖块。它有白(W)、灰(G)、黑(B)三种颜色。所有的积木都有无限个。
你在一个 $6 \times 6$ 的底板上砌砖块。砖块边缘必须平行于底板,且砖块不能延伸到地板的外面。每块积木必须有至少一块积木支持,也就是不能浮空(但没说不可以部分悬挂)。

<div><p style='color: grey; font-size: 13px; text-align: center' >左:将积木放在另一个积木的顶部上的一种可行的方式。中:一种非法的方式(上层积木挂在空中)。右:另一种非法方式(上方的积木延伸到底板外)。</p></div>
给出从两个角度拍摄的积木建筑的图片,试求:要建立它有多少种不同的方式。
输入格式
第一行包含 $H$($1 \le H \le 6$),即建筑的高度。然后 $H$ 行每行 $6$ 个字符,给出从一侧(下图中标记为 A)所见的建筑图。
第 $i$ 行的第 $j$ 个字符表示你从上方看第 $i$ 行左边的第 $j$ 列所看到的颜色。每个字符都可以是
接下来 $H$ 行是观察者逆时针绕建筑旋转 $90$ 度(在下图中标记为 B)看到的图片。
第 $i$ 行的第 $j$ 个字符表示你从上方看第 $i$ 行左边的第 $j$ 列所看到的颜色。每个字符都可以是
W,G,B 或 . 中的一种,表示一种颜色(W,G 或 B)或孔(.)。请注意,你无法估计深度,因此只要没有其他积木挡住视线,在某个位置看到的颜色可能属于某个靠前的积木,也可能属于某个靠后的积木。接下来 $H$ 行是观察者逆时针绕建筑旋转 $90$ 度(在下图中标记为 B)看到的图片。
输出格式
输出一行一个整数,表示不同的乐高建筑的个数。通过旋转或翻转得到的建筑算作不同。保证答案在 64 位有符号整数范围内。
输入输出样例
输入 #1
2 WWGG.. .BB.WW .WGG.. WWGG..
输出 #1
6
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?