卡特兰数——HDU2067

题目链接

题目代码

#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
typedef long long LL;
const int maxn=40;
LL h[maxn];
void init(){
    h[0]=h[1]=1;
    for(int i=2;i<maxn;i++){
        h[i]=0;
        for(int j=0;j<i;j++)
            h[i]+=h[j]*h[i-1-j];
    }
}
int main(){
    init();
    int n,ce=1;
    while(cin>>n){
        if(n==-1)break;
        cout<<ce++<<' '<<n<<' '<<h[n]*2<<endl;
    }
    return 0;
}

 

posted @ 2019-08-15 16:30  helman78  阅读(177)  评论(0编辑  收藏  举报