题意:
给出n,c,给N*N方格,涂色,方格可以旋转,反转,对角线反转
思路:
要分奇偶讨论:
应为奇偶的指环群是不一样的
最后千万不要忘记对折
n,c过大要开java大数
import java.io.*;
import java.util.*;
import java.math.*;
public class Main {
public static void main(String args[]) throws Exception
{
Scanner cin=new Scanner(System.in);
BigInteger c,i4=BigInteger.valueOf(4),i2=BigInteger.valueOf(2);
int a1,a2,a3,a4,a5;
int n;
while(cin.hasNext())
{
n=cin.nextInt();
c=cin.nextBigInteger();
if(n%2==1)
{
a1=(n*n);
a2=1+(n/2)*(n/2)+(n/2);
a3=2*a2-1;
a4=(n/2+1)*n;
}
else
{
a1=n*n;
a2=(n/2)*(n/2);
a3=2*a2;
a4=(n/2)*n;
}
a5=n+(n*n-n)/2;
BigInteger ans= (c.pow(a5).multiply(i2).add(c.pow(a4).multiply(i2).add(c.pow(a1).add(c.pow(a2).add(c.pow(a3).add(c.pow(a2))))))).divide(i4.add(i4));
System.out.println(ans);
}
}
}