#P17010. [SGU501] Octahedron And Dominoes
[SGU501] Octahedron And Dominoes
题目描述
有一个正八面体,它的每个三角形表面都被分割成 个全等的小三角形:在每条边的方向上画 条平行线,共画 条线。部分小三角形为黑色,其余为白色。
现在要使用“三角多米诺骨牌”覆盖所有白色小三角形,且不能覆盖任何黑色小三角形。一块三角多米诺由两个有公共边的小三角形组成。多米诺可以跨越八面体相邻两个面的公共边,也就是说它可以沿八面体棱“折弯”。
每个白色小三角形必须被恰好一块多米诺覆盖。求合法覆盖方案数。

输入格式
第一行一个整数 ,。
接下来 行按水平层描述整个八面体。设八面体竖直放置,最上方和最下方各有一个顶点:
- 最顶层有 个小三角形;
- 下一层有 个;
- 此后每下一层增加 个,直到中间层达到 个;
- 中间连续两层都含 个小三角形,之后层大小对称递减,直到最底层重新变为 个。
每一层从图中可见部分最左侧的小三角形开始,从左到右描述可见的四个面,然后转到不可见部分并从右向左继续描述。字符 . 表示白色小三角形,* 表示黑色小三角形。
因此第 行(从 开始计层)的长度依次为 。
输出格式
输出一个整数,表示用三角多米诺恰好覆盖所有白色小三角形的方案数。
样例 1
2
.***
........*...
************
....
2
样例 2
3
....
************
....................
********************
............
****
8