zoukankan      html  css  js  c++  java
  • 小兔的棋盘

     1 import java.util.*;
     2  import java.math.*;
     3  public class Main
     4  {
     5      public static void main(String []args)
     6      {
     7          Scanner cin=new Scanner(System.in);
     8          int i,n;
     9          int count=1;
    10          while(cin.hasNext())
    11          {    
    12              n=cin.nextInt();
    13              if(n==-1)
    14              break;
    15              BigInteger s1 = BigInteger.valueOf(1);
    16              BigInteger s2 = BigInteger.valueOf(1);
    17              for(i=1;i<=n;i++)
    18              {
    19                  s1=s1.multiply(BigInteger.valueOf(2*n-i+1));
    20                  s2=s2.multiply(BigInteger.valueOf(i));
    21              }
    22              s1=s1.divide(BigInteger.valueOf(n+1));
    23              s1=s1.divide(s2);
    24              s1=s1.multiply(BigInteger.valueOf(2));
    25              System.out.println(count+" "+n+" "+s1);
    26              count++;    
    27          }
    28      }
    29  }

    这个题目自己算了n=4的时候结果是28,发现n=3的时候结果是10,n=1的时候结果是2,就觉得这个题目和

    How Many Trees?很相似,这里就是

    How Many Trees?里面结果的二倍,发现之后果断用Java写了代码,拿12进行测试,没想到真是!!

  • 相关阅读:
    次小生成树模板(poj1679)
    ISAP模板
    ZOJ3781
    Uva12663
    LightOJ1089
    网络流DINIC模板
    FZU2030(括号匹配)
    NOIP2011提高组(选择客栈)
    DRF之视图家族
    DRF多表设计与ModelSerializer组件
  • 原文地址:https://www.cnblogs.com/ouyangduoduo/p/2558142.html
Copyright © 2011-2022 走看看