理解为硬币拆分数即可;
#include<iostream>
#include<cstdio>
using namespace std;
typedef long long LL;
const int maxn = 35;
LL num[ maxn ];
void Start(){
num[ 0 ] = 1;
num[ 1 ] = 1;
for( int i = 2; i <= maxn; ++i ){
num[ i ] = 0;
for( int j = 0; j < i; ++j ){
num[ i ] += num[ i - j - 1 ] * num[ j ];
}
}
}
int main(){
Start();
int Case, n;
scanf( "%d", &Case );
while( Case-- ){
scanf( "%d", &n );
//cout << num[ n ] << endl;
printf( "%lld\n", num[ n ] );
}
}