小可可在课余的时候受美术老师的委派从事一项漆绘瓷砖的任务。首先把n(n+1)/2块正六边形瓷砖拼成三角形的形状,右图给出了n=3时拼成的“瓷砖三角形”。然后把每一块瓷砖漆成纯白色或者纯黑色,而且每块瓷砖的正、反两面都必须漆成同样的颜色。
有一天小可可突发奇想,觉得有必要试试看这些瓷砖究竟能够漆成多少种本质不同的图案。所谓两种图案本质不同就是其中的一种图案无论如何旋转、或者翻转、或者同时旋转和翻转都不能得到另外一种图案。
旋转是将瓷砖三角形整体顺时针旋转120度或240度。
翻转是将瓷砖三角形整体左右翻动180度。
一开始,小可可觉得这项实验很有意思,他知道n=2时有两个本质不同的漆绘方案,n=4时也只有四个本质不同的漆绘方案。小可可还把这些漆绘方案画了出来。
但是后来小可可发现在变大的过程中,漆绘方案的数目增长很快,在n=14的时候,居然有6760803201217259503457555972096种不同的漆绘方案。这果然是一项非常艰巨的实验。因此他决定请你编写程序帮他求解本质不同的漆绘方案数
输入描述 Input Description
一个正整数n, n≤20
输出描述 Output Description
一行正整数,代表问题的解s。
样例输入 Sample Input
输入1: 1
输入2: 2
样例输出 Sample Output
输出1:2
输出2:4
数据范围及提示 Data Size & Hint
s不超过200位
数据统计 Statistics
分析:总算过了Polya定理了,具体看《离散数学在信息学竞赛中的应用》。这题相当于模板题,先处理出6种等同的情况(旋转(3)*翻转(2)=6),然后一一对应置换群暴力求轮换,然后带公式,要高精度
Polya定理:设对一张图的等效染色对应的置换群的个数为k,其中第I个置换群中轮换的个数为f(i),一共要用m种颜色染色,则总共本质不同的个数为L=(m^f(1)+m^f(2)+……+m^f(k))/k
——————————————————————————————————————————————————————————————————————
补:还有一个叫母函数型Polya定理的东东……这个网上很多资料,自行搜索……