How Many Trees?
2012-06-21 17:21
274 查看
import java.util.*; import java.math.*; public class Main { public static void main(String []args) { Scanner cin=new Scanner(System.in); int i,n; while(cin.hasNext()) { n=cin.nextInt(); BigInteger s1 = BigInteger.valueOf(1); BigInteger s2 = BigInteger.valueOf(1); for(i=1;i<=n;i++) { s1=s1.multiply(BigInteger.valueOf(2*n-i+1)); s2=s2.multiply(BigInteger.valueOf(i)); } s1=s1.divide(BigInteger.valueOf(n+1)); System.out.println(s1.divide(s2)); } } }
这个题目意思是指给出一个数n,输出n 个数构成的不同形状的二叉树,表示使用公式,利用卡特兰数的推导公式,
则有:S1=C(2*n,n)/(n+1).
表示数据过于庞大,所以选择了用Java的大数类来计算~~
相关文章推荐
- UVa 10303 How Many Trees? (卡特兰数&高精度)
- UVa:10303 How Many Trees ?
- ACM刷题之HDU————How Many Trees?
- HDU 1130 How Many Trees? 卡特兰数
- UVA 10303 How Many Trees?
- hdoj 1130 How Many Trees? 【卡特兰数】
- HDU 1130 How Many Trees?(卡特兰数+大数)
- Codeforces Beta Round #9 (Div. 2 Only) D. How many trees? dp
- How Many Trees?
- HDOJ HDU 1130 How Many Trees?
- hdu1130-How Many Trees?
- HDU1130_How Many Trees?(卡特兰数 _java)
- UVA 10303 How Many Trees? (catlan)
- HDU 1130 How Many Trees?
- hdu 1130 How Many Trees?(Catalan数)
- hdu/hdoj 1130 How Many Trees?
- HDU How Many Trees?
- hdu 1130 How Many Trees?(Catalan数)
- (hdu step 2.3.4)How Many Trees?(大数:求n个节点能够成多少棵二叉树)
- HDU 1130 How Many Trees?