loj#P2677. 「BalticOI 2010」乐高 Lego
「BalticOI 2010」乐高 Lego
题目描述
你正在使用乐高积木来训练人工视觉系统。
本题中只有一种乐高积木—— 的砖块。它有白(W)、灰(G)、黑(B)三种颜色。所有的积木都有无限个。
你在一个 的底板上砌砖块。砖块边缘必须平行于底板,且砖块不能延伸到地板的外面。每块积木必须有至少一块积木支持,也就是不能浮空(但没说不可以部分悬挂)。
左:将积木放在另一个积木的顶部上的一种可行的方式。中:一种非法的方式(上层积木挂在空中)。右:另一种非法方式(上方的积木延伸到底板外)。
输入格式
第一行包含 (),即建筑的高度。然后 行每行 个字符,给出从一侧(下图中标记为 A)所见的建筑图。
第 行的第 个字符表示你从上方看第 行左边的第 列所看到的颜色。每个字符都可以是 W
,G
,B
或 .
中的一种,表示一种颜色(W
,G
或 B
)或孔(.
)。请注意,你无法估计深度,因此只要没有其他积木挡住视线,在某个位置看到的颜色可能属于某个靠前的积木,也可能属于某个靠后的积木。
接下来 行是观察者逆时针绕建筑旋转 度(在下图中标记为 B)看到的图片。
输出格式
输出一行一个整数,表示不同的乐高建筑的个数。通过旋转或翻转得到的建筑算作不同。保证答案在 64 位有符号整数范围内。
2
WWGG..
.BB.WW
.WGG..
WWGG..
6