zoukankan      html  css  js  c++  java
  • 【HDU】1812 Count the Tetris

    题意:n*n个方块组成的正方形,着k种颜色,旋转翻转视为相同的方案,有多少种方案。

    Burnside定理,一共有8个置换,每个置换统计一下不变的着色数即可。

    import java.util.*;
    import java.math.*;
    
    public class Main {
        static int Count1(int n) {
            int ans;
            if (n % 2 == 0)
                ans = 0;
            else
                ans = 1;
            for (n--; n > 0; n -= 2)
                ans += n;
            return ans;
        }
    
        static int Count2(int n) {
            int ans;
            if (n % 2 == 0)
                ans = 0;
            else
                ans = 1;
            for (n = 2 * n - 2; n > 0; n -= 4)
                ans += n;
            return ans;
        }
    
        public static void main(String[] args) {
            Scanner in = new Scanner(System.in);
            int n;
            BigInteger k, ans;
            while (in.hasNext()) {
                n = in.nextInt();
                k = in.nextBigInteger();
                ans = k.pow(n * n);
                ans = ans.add(k.pow(Count1(n)).multiply(BigInteger.valueOf(2)));
                ans = ans.add(k.pow(Count2(n)));
                if (n % 2 == 0)
                    ans = ans.add(k.pow(n * n / 2).multiply(BigInteger.valueOf(2)));
                else
                    ans = ans.add(k.pow((n * n - n) / 2 + n).multiply(
                            BigInteger.valueOf(2)));
                ans = ans.add(k.pow((n * n - n) / 2 + n).multiply(
                        BigInteger.valueOf(2)));
                System.out.println(ans.divide(BigInteger.valueOf(8)));
            }
        }
    }
  • 相关阅读:
    Delphi 的RTTI机制浅探<二>
    Delphi 的RTTI机制浅探<一>
    delphi组件读写机制
    KeyDown和KeyPress的区别
    控件的安装和卸载方法
    delphi相关文件扩展名
    公用体
    主窗体和继承窗体
    计算机基础
    什么是base64?
  • 原文地址:https://www.cnblogs.com/DrunBee/p/2682423.html
Copyright © 2011-2022 走看看