HDU 1023 Train Problem II (卡特兰数问题)
2012-03-21 21:05
211 查看
Train Problem II
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 2830 Accepted Submission(s): 1562
[align=left]Problem Description[/align]
As we all know the Train Problem I, the boss of the Ignatius Train Station want to know if all the trains come in strict-increasing order, how many orders that all the trains can get out of the railway.
[align=left]Input[/align]
The input contains several test cases. Each test cases consists of a number N(1<=N<=100). The input is terminated by the end of file.
[align=left]Output[/align]
For each test case, you should output how many ways that all the trains can get out of the railway.
[align=left]Sample Input[/align]
1 2 3 10
[align=left]Sample Output[/align]
1 2 5 16796
Hint
The result will be very large, so you may not process it by 32-bit integers.
[align=left]Author[/align]
Ignatius.L
简单的卡特兰数问题。
卡特兰数介绍:
/article/4679949.html
这个已经可以做为模版了~~~
//h( n ) = ( ( 4*n-2 )/( n+1 )*h( n-1 ) ); #include<stdio.h> //******************************* //打表卡特兰数 //第 n个 卡特兰数存在a 中,a [0]表示长度; //注意数是倒着存的,个位是 a [1] 输出时注意倒过来。 //********************************* int a[105][100]; void ktl() { int i,j,yu,len; a[2][0]=1; a[2][1]=2; a[1][0]=1; a[1][1]=1; len=1; for(i=3;i<101;i++) { yu=0; for(j=1;j<=len;j++) { int t=(a[i-1][j])*(4*i-2)+yu; yu=t/10; a[i][j]=t%10; } while(yu) { a[i][++len]=yu%10; yu/=10; } for(j=len;j>=1;j--) { int t=a[i][j]+yu*10; a[i][j]=t/(i+1); yu = t%(i+1); } while(!a[i][len]) { len--; } a[i][0]=len; } } int main() { ktl(); int n; while(scanf("%d",&n)!=EOF) { for(int i=a [0];i>0;i--) { printf("%d",a [i]); } puts(""); } return 0; }
相关文章推荐
- hdu 1023 Train Problem II 卡特兰数+java
- HDU 1023 Train Problem II 卡特兰数 大数的乘法除法
- hdu 1023 Train Problem II (卡特兰数)
- Train Problem II HDU 1023 卡特兰数
- HDU 1023 Train Problem II (卡特兰数)未解决未解决未解决未解决
- hdu 1023(大数+卡特兰数)
- HDU-1133Buy the Ticket 卡特兰数买票问题
- HDU 1023 高精度 卡特兰数
- hdu 1023 1130 1134 卡特兰数 (中间有大数相除和大数相乘)
- hdu1023 Train Problem II 卡特兰数,JAVA大数类
- hdu 1023 Train Problem II (卡特兰数)
- HDU 1023 (卡特兰数)
- 卡特兰数 相关问题 hdu 5184 Brackets
- HDU-1023 Train Problem II 卡特兰数(结合高精度乘除)
- hdu 1023,catalan,卡特兰数
- HDU 1023 Traning Problem (2) 大数卡特兰数
- hdu 1023 train problem2(卡特兰数模板题)
- HDU 1023 Traning Problem (2) 高精度卡特兰数
- hdu 1023 java大数写卡特兰数
- hdu 1023 Train Problem II(卡特兰数的应用)出栈序列的统计