Game of Connections

发布时间:2016-12-10 15:00:04 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"Game of Connections",主要涉及到Game of Connections方面的内容,对于Game of Connections感兴趣的同学可以参考一下。

http://poj.org/problem?id=2084 catalan数 #include "stdio.h" #include "string.h" #include "stdlib.h" #include "math.h" #include "algorithm" #include "iostream" using namespace std; const int maxn = 1000 ; int a[ maxn + 5 ][ maxn + 5 ] ; int b[ maxn + 5 ] ; void catalan() { int i , j , len , carry ,temp ; a[ 1 ][ 0 ] = b[ 1 ] = 1 ; len = 1 ; for( i = 2 ; i <= maxn ; 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) != EOF ) { if( n <= 0 ) break ; if( n == 0 ) break ; for( i = b[ n ] - 1 ; i >= 0 ; i-- ) printf( "%d" , a[ n ][ i ] ) ; puts("") ; } return 0; }

上一篇:用 Javascript 获取滚动条位置等信息
下一篇:银行卡技术实现和相关银行卡规范(三)

相关文章

相关评论