QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#16692. 乐高

Statistics

你正在使用乐高(Lego)积木来训练一个人工视觉系统。写一个程序,在给定从两个角度拍摄的乐高建筑照片的情况下,计算有多少种不同的搭建方式。

在本题中,只有一种乐高积木(具有 $2 \times 2$ 的“凸起”,见下图),但它可以有三种不同的颜色:白色(W)、灰色(G)或黑色(B)。所有积木的数量都是无限的。你使用一个 $6 \times 6$ 凸起大小的正方形底座。每个积木的边缘必须与该底座平行,且任何积木都不能延伸到基座之外。每个积木必须支撑在至少一个下方的积木上。

左:允许的将一个积木放置在另一个积木上方的方式。中:非法的方式(上方的积木悬空)。右:另一种非法的方式(上方的积木延伸到了底座之外)。

输入格式

输入的第一行包含一个整数 $H$($1 \le H \le 6$),表示建筑的高度。

接下来是 $H$ 行,每行包含 6 个字符,给出从一侧(在下图中标为 A)看到的建筑图像。第 $i$ 行的第 $j$ 个字符指定了从上往下数第 $i$ 行、从左往右数第 $j$ 列所看到的内容。每个字符可以是 WGB.,分别表示颜色(WGB)或空洞(.)。请注意,你无法估计深度,因此在某个位置看到的颜色既可能属于靠近前边缘的积木,也可能属于更靠后的积木,只要没有其他积木阻挡视线即可。

第一张图像之后是另一组 $H$ 行,表示从另一个角度看到的建筑,该角度是观察者绕建筑逆时针旋转 90 度后看到的内容(在下图中标为 B)。

输出格式

输出一行,包含一个整数:满足输入中给出的图像的、不同的乐高建筑的数量。

注意,即使两个不同的可能建筑可以通过旋转或镜像相互得到,它们也应该被分别计算。对于给定的输入,答案将始终适合有符号的 64 位整数。

样例

输入样例 1

2
WWGG..
.BB.WW
.WGG..
WWGG..

输出样例 1

6

说明

样例中可能的一种建筑结构。

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.