标签:
2 3 -1
2 5
#include<stdio.h> #include<string.h> const int maxn=200; int catalan[101][200]; int temp[200]; void make(){ memset(catalan,0,sizeof(catalan)); catalan[1][0]=1; int i,j,res; for(i=2;i<=100;++i){ int mod=4*i-2; for(j=0;j<maxn;++j){ catalan[i][j]+=catalan[i-1][j]*mod; if(catalan[i][j]>=10){ catalan[i][j+1]=catalan[i][j]/10; catalan[i][j]%=10; } } memset(temp,0,sizeof(temp)); mod=i+1; res=0; for(j=maxn-1;j>=0;--j){ temp[j]=(res*10+catalan[i][j])/mod; res=(res*10+catalan[i][j])%mod; } for(j=0;j<maxn;++j){ catalan[i][j]=temp[j]; } } } int main(){ make(); int n; while(~scanf("%d",&n),n!=-1){ int i=maxn-1; while(!catalan[n][i]) --i; while(i>=0){ printf("%d",catalan[n][i--]); } printf("\n"); } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
hdoj-1134-Game of Connections【卡特兰数】
标签:
原文地址:http://blog.csdn.net/qq_18062811/article/details/47343403