zoukankan      html  css  js  c++  java
  • hdu 1133 Buy the Ticket

    首先,记50的为0,100的为1.

    当m=4,n=3时,其中的非法序列有0110010;

    从不合法的1后面开始,0->1,1->0,得到序列式0111101

    也就是说,非法序列变为了n-1个0,m+1个1.

    总的数目=C(m+n,n),非法的=C(m+n,m+1)

    符合数目=(C(m+n,n)-C(m+n,m+1))*m!*n!;

    化简得:(m+n)!*(m+1-n)/(m+1).

    Java代码:

     1 import java.io.*;
     2 import java.math.*;
     3 import java.math.BigInteger;
     4 import java.lang.String.*;
     5 import java.util.*;
     6 public class Main
     7 {
     8     public static BigInteger [] p;
     9     public static void main(String arg[])
    10     {
    11         int i;
    12         p = new BigInteger[201];
    13         p[0]=BigInteger.valueOf(1);
    14         for(i=1;i<=200;i++)
    15             p[i]=p[i-1].multiply(BigInteger.valueOf(i));
    16         Scanner cin = new Scanner(System.in);
    17         int k=1;
    18         while(true)
    19         {
    20             int m = cin.nextInt();
    21             int n = cin.nextInt();
    22             if(m==0&&n==0) break; System.out.println("Test #"+k+++":");
    23             if(m<n)
    24                 System.out.println("0");
    25             else
    26                 System.out.println(p[m+n].multiply(BigInteger.valueOf(m+1-n)).divide(BigInteger.valueOf(m+1)).toString());
    27         }
    28     }
    29 }
    View Code
  • 相关阅读:
    本月周六周日LIST集合
    c#动态调用WEBSERVICE接口
    c#调用
    web上传下载文件
    MVC 的知识
    MongoDB 无法创建抽象类的问题,
    并行活动
    C# 字符串计算表达式
    c# 将字符串转换为逻辑表达式(字符串转换布尔)
    C# 中间语言、CLR、CTS、CLS
  • 原文地址:https://www.cnblogs.com/xin-hua/p/3203519.html
Copyright © 2011-2022 走看看