1023 Train Problem II(卡特兰数)
2015-08-05 16:49
225 查看
[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
卡特兰数相关了解:
http://blog.csdn.net/wuzhekai1985/article/details/6764858 http://www.cnblogs.com/kuangbin/archive/2012/03/21/2410519.html http://baike.baidu.com/link?url=SIrdv9w3YrmZdmGR5dIIszcQfzjndTjD9fHo1qzCYatFgsZIiwSbb2zOY70ouVcYZYES_1sbIXYuD1hbLaN78K
最初所写的代码(没考虑范围):
bin神的模板:
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
卡特兰数相关了解:
http://blog.csdn.net/wuzhekai1985/article/details/6764858 http://www.cnblogs.com/kuangbin/archive/2012/03/21/2410519.html http://baike.baidu.com/link?url=SIrdv9w3YrmZdmGR5dIIszcQfzjndTjD9fHo1qzCYatFgsZIiwSbb2zOY70ouVcYZYES_1sbIXYuD1hbLaN78K
最初所写的代码(没考虑范围):
#include <stdio.h> #include <algorithm> int Catalan(int n){ if(n<=1) return 1; int *h = new int [n+100000]; h[0] = h[1] = 1; for(int i=2;i<=n;i++){ h[i]=0; for(int j=0;j<i;j++){ h[i]+=(h[j]*h[i-1-j]); } } int result=h ; delete []h; return result; } int main() { int n; while(~scanf("%d",&n)){ printf("%d\n",Catalan(n)); } return 0; }
bin神的模板:
#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; }
相关文章推荐
- MongoDB性能篇 -创建索引,组合索引,唯一索引,删除索引和explain执行计划
- XML常用函数http://blog.csdn.net/ly61baby/article/details/6458383
- GreenMail邮件测试服务器
- 2015 Multi-University Training Contest 1 题解&&总结
- spark-streaming连接flume时报错org.jboss.netty.channel.ChannelException: Failed to bind to: /IP:PORT
- Selenium中的几种等待方式,需特别注意implicitlyWait的用法
- Volume serial number could associate file existence on certain volume
- epoll机制:epoll_create、epoll_ctl、epoll_wait、close
- 指针数组的应用场景之main函数
- copy,assign,strong,retain,weak,readonly,nonatomic的区别
- 空气质量在线检测系统制作 之Smart Airbox 制作流程
- armv7s报错: file is universal (4 slices) but does not contain a(n) armv7s slice
- HDU1023 Train Problem 2 (卡特兰数列)
- 南邮 OJ 1389 Mountains of Pandora
- B - And Or---(2015 NEUQ_ACM summer training #1)
- A - Decoding Baby Boos---(2015 NEUQ_ACM summer training #1)
- C - We Love MOE Girls---(2015 summer training #9)
- hdu 1789 Doing Homework again
- (FFOS Gecko & Gaia) OTA - 再进入Gecko层
- 2015 Multi-University Training Contest 5 hdu 5349 MZL's simple problem