简单Catalan数-hdu-1130-How Many Trees?

来源:互联网 发布:c专家编程 pdf 下载 编辑:程序博客网 时间:2024/05/21 22:50

题目链接:

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

题目意思:

catalan数模型。求出第n个catalan数。(n<=100)

解题思路:

直接利用catalan数递推h[n]=(4*n-2)/(n+1)*h[n-1] (n>1)

java水过。

代码:

import java.util.*;import java.math.*;public class Main {/** * @param args */static BigInteger []h = new BigInteger[120];static public void init(){h[1]=BigInteger.valueOf(1);h[0]=h[1];for(int i=2;i<=100;i++)h[i]=h[i-1].multiply(BigInteger.valueOf(4*i-2)).divide(BigInteger.valueOf(i+1));}public static void main(String[] args){// TODO Auto-generated method stubinit();Scanner cin=new Scanner(System.in);int n;while(cin.hasNextInt()){n=cin.nextInt();System.out.println(h[n]);}}}


原创粉丝点击