#P6762. [BalticOI 2010 Day1] Lego

    ID: 5799 Type: RemoteJudge 1000ms 128MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>模拟动态规划,dp搜索2010状态压缩BalticOI

[BalticOI 2010 Day1] Lego

题目描述

给定一些 2×22 \times 2 的乐高方块,分别有白色(W),灰色(G)和黑色(B)。现在您要往 6×66 \times 6 的底板上放置方块,需要保证不能有完全浮空的方块(即四个方格均无放置的地方)也不能超出 6×66 \times 6 的底板。

现在给定一个放置完方块的底板的一面的示意图,和这一面逆时针旋转 9090^\circ 后的一面的示意图,求有多少种放置方块的方法数。

输入格式

第一行一个整数 HH 代表这种放置方块的高度。
接下来 HH 行每行六个字符,代表从这一面看到的示意图。
接下来 HH 行每行六个字符,代表从上一面逆时针旋转 9090^\circ 后的示意图。
只能从前面,后面,左面,右面看,不能从上面,下面看。

输出格式

一行一个整数代表答案。
答案保证在 64 位有符号整数内。

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

提示

样例 1 解释

如下图:

第一个是从 AA 面观察到的示意图。
第二个是从 BB 面(AA 面逆时针旋转 9090^\circ)观察到的示意图。

下面是这 66 种情况(感谢 Vonov 提供的图片!):






数据规模与约定

对于 100%100\% 的数据,1H61 \le H \le 6

说明

翻译自 BalticOI 2010 Day1 B Lego