首页 > 代码库 > HDU 4165

HDU 4165

一块药看成括号配对就行了。很明显的直接求卡特兰数。

今晚看了HDU 3240的题,有一点思路,但无情的TLE。想不到什么好方法了,看了别人的解答,哇。。。简直是天才的做法啊。。。。留到星期六自己思考一遍再重新写。

import java.math.BigDecimal;import java.math.BigInteger;import java.util.Scanner;import java.io.InputStreamReader;  public class Main{        public static void main(String args[]){	Scanner in=new Scanner(System.in);	BigInteger ans[]=new BigInteger[35];	ans[1]=BigInteger.valueOf(1);	for(int i=2;i<35;i++){		ans[i]=ans[i-1].multiply(BigInteger.valueOf(4*i-2)).divide(BigInteger.valueOf(i+1));	}	while(in.hasNext()){		int x=in.nextInt();		if(x==0)			break;		System.out.println(ans[x]);	}        }}

  

HDU 4165