HDU 1023 Train Problem II

http://acm.hdu.edu.cn/showproblem.php?pid=1023

卡特兰数,要注意是大数,直接学着用java搞大数了

View Code
import java.io.*;

import java.math.*;

import java.util.*;

import java.text.*;

public class Main

{

    public static void main(String[] args)

    {

        Scanner cin=new Scanner (new BufferedInputStream(System.in));

        BigInteger[] f=new BigInteger[103];

        f[0]=f[1]=f[2]=BigInteger.valueOf(1);

        for(int i=2;i<102;i++)

            f[i+1]=BigInteger.valueOf(4).multiply(BigInteger.valueOf(i)).subtract(BigInteger.valueOf(6)).multiply(f[i]).divide(BigInteger.valueOf(i));

        while(cin.hasNext())

        {

            int n=cin.nextInt();

            System.out.println(f[n+2]);

        }

    }

}

 

你可能感兴趣的:(HDU)