卡特兰数——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; }