zoukankan      html  css  js  c++  java
  • 【Codeforces】Gym 101156G Non-Attacking Queens 打表

    题意

    求$n imes n$的棋盘上放$3$个皇后使得互相不攻击的方案数


    拓展是$m imes n$棋盘上放$k$皇后,暴力打表找到了公式

    OEIS

    代码

    import java.math.BigInteger;
    import java.util.Scanner;
    
    /**
     * Created by cyuun on 2018/1/24.
     */
    public class Main {
        public static void main(String[] args) {
            BigInteger n,ans;
            Scanner cin = new Scanner(System.in);
            n=cin.nextBigInteger();
            if(n.mod(BigInteger.valueOf(2)).compareTo(BigInteger.valueOf(1))==0) {
                //(n - 1)(n - 3)(2n^4 - 12n^3 + 25n^2 - 14n + 1)/12
                ans=n.subtract(BigInteger.valueOf(1));
                ans=ans.multiply(n.subtract(BigInteger.valueOf(3)));
                BigInteger part1=n.multiply(n).multiply(n).multiply(n).multiply(BigInteger.valueOf(2));
                BigInteger part2=n.multiply(n).multiply(n).multiply(BigInteger.valueOf(12));
                BigInteger part3=n.multiply(n).multiply(BigInteger.valueOf(25));
                BigInteger part4=n.multiply(BigInteger.valueOf(14));
                ans=ans.multiply(part1.subtract(part2).add(part3).subtract(part4).add(BigInteger.valueOf(1)));
                ans=ans.divide(BigInteger.valueOf(12));
            }else {
                //n(n - 2)^2(2n^3 - 12n^2 + 23n - 10)/12
                ans=n;
                ans=ans.multiply(n.subtract(BigInteger.valueOf(2))).multiply(n.subtract(BigInteger.valueOf(2)));
                BigInteger part1=n.multiply(n).multiply(n).multiply(BigInteger.valueOf(2));
                BigInteger part2=n.multiply(n).multiply(BigInteger.valueOf(12));
                BigInteger part3=n.multiply(BigInteger.valueOf(23));
                ans=ans.multiply(part1.subtract(part2).add(part3).subtract(BigInteger.valueOf(10)));
                ans=ans.divide(BigInteger.valueOf(12));
            }
            System.out.println(ans);
        }
    }
    
  • 相关阅读:
    通过JavaScript垃圾回收机制来理解WeakSet/WeakMap中对象的弱引用
    json处理
    dotenv 加载本地环境变量
    各种ast库
    类型检测库
    npm 加解密库
    用计算机语言的爱情表白
    情侣在招聘会上搂抱招致企业反感
    《软件性能测试与LoadRunner实战》网上订购问题
    F1赛车的起源
  • 原文地址:https://www.cnblogs.com/ogiso-setsuna/p/8343853.html
Copyright © 2011-2022 走看看