/*
uva10733 Polya定理
Author: lcy
Time:2017-11-8

一个立方体,给你n种颜色,求能染成多少种正方体(正方体可以旋转)

polya定理例题。
现在要考虑能给出多少种置换。
由于置换群中只有旋转这种操作,所以如果正方形旋转后
产生了位移,那么将不满足群的封闭性。所以我们可以很容易推知
旋转轴必然是正方形的对称轴。

有如下几种旋转情况:
1.对面中点轴 旋转90 180 270 度
2.对边中点轴 旋转120 240 度
3.对角轴 旋转180度
4.置换群单位元 旋转0度

对于以上所有置换求出其循环节个数,带入Polya定理公式即可。
*/
#include <iostream>
using namespace std;
#define ll long long
ll n;
ll poww(ll x,int t){
	ll ans=1;
	for(int i=1;i<=t;i++)ans*=x;
	return ans;
}
int main(){
	ios::sync_with_stdio(false);cin.tie(0);
	while(cin>>n){
		if(!n)break;
		cout<<(poww(n,6)+12ll*poww(n,3)+3ll*poww(n,4)+8ll*poww(n,2))/24ll<<endl;
	}
	return 0;
}

 posted on 2017-11-08 22:31  cylcy  阅读(123)  评论(0编辑  收藏  举报