卡特兰会在33左右爆long long
所以一般不用直接递推
#include<bits/stdc++.h>
using namespace std;
#define int unsigned long long
int kate[60];
main()
{
kate[1]=kate[0]=1;
for(int a=2;a<=35;a++)
{
for(int b=0;b<a;b++)
{
kate[a]+=kate[b]*kate[a-1-b];
}
//f[a]=(4*a+2)*f[a-1]/(a+1)
}
int n;
int tt=0;
while(cin>>n)
{
if(n==-1)break;
cout<<++tt<<" "<<n<<" "<<kate[n]*2<<endl;
}
}