hdu1130-How Many Trees?
2013-05-21 21:03
183 查看
http://acm.hdu.edu.cn/showproblem.php?pid=1130
catalan数
catalan数
#include "stdio.h" #include "string.h" #include "stdlib.h" #include "math.h" #include "algorithm" #include "iostream" using namespace std; const int maxn = 105 ; int a[ maxn ][ maxn ] ; int b[ maxn ] ; void catalan() { int i , j , len , carry ,temp ; a[ 1 ][ 0 ] = b[ 1 ] = 1 ; len = 1 ; for( i = 2 ; i <= 100 ; i++ ) { for( j = 0 ; j < len ; j++ ) a[ i ][ j ] = a[ i - 1 ][ j ] * ( 4 * ( i - 1 ) + 2 ) ; carry = 0 ; for( j = 0 ; j < len ; j++ ) { temp = a[ i ][ j ] + carry ; a[ i ][ j ] = temp % 10 ; carry = temp / 10 ; } while( carry ) { a[ i ][ len++ ] = carry % 10 ; carry /= 10 ; } carry = 0 ; for( j = len - 1 ; j >= 0 ; j-- ) { temp = a[ i ][ j ] + carry * 10 ; a[ i ][ j ] = temp / ( i + 1) ; carry = temp % ( i + 1 ) ; } while( !a[ i ] [ len - 1 ] ) { len-- ; } b[ i ] = len ; } } int main() { catalan(); int i , n ; while( ~scanf( "%d" ,& n) ) { for( i = b[ n ] - 1 ; i >= 0 ; i-- ) printf( "%d" , a[ n ][ i ] ) ; puts("") ; } return 0; }
相关文章推荐
- How Many Trees?[HDU1130]
- hdu1130 How Many Trees?(Catalan+高精)
- 天天写算法之HDU how many trees
- hdu 1130 How Many Trees? (java)
- hdu 1130(How Many Trees?)
- UVA 10303 - How Many Trees?(卡特兰数列)
- UVA 10303 - How Many Trees?(数论 卡特兰数 高精度)
- 【HDU】1130 - How Many Trees?(java - BigDecimal & 卡特兰大数打表)
- Codeforces Beta Round #9 (Div. 2 Only) D. How many trees? dp
- hdoj-1130-How Many Trees?【卡特兰数】
- HDU2.3.4 How Many Trees?
- 杭电1130How Many Trees?
- ZOJ_-1470--How Many Trees
- How Many Trees?
- HDU 1130 How Many Trees?
- EOJ 1850 How many trees?
- HDU - 1130 How Many Trees?
- How Many Trees?
- HDU How Many Trees
- hdu 1130 How Many Trees