没什么好解释的了,直接动态规划。
水题一道居然因为没想到会爆int卡了半天,汗。。。
//SGU 130 Circle
//DP
//by night_watcher
#include<iostream>
#include<cstring>
using namespace std;
#define N 33
long long cnt[N];
int main(){
int n,i,j;
while(cin>>n){
memset(cnt,0,sizeof(cnt));
cnt[0]=1;
for(i=1;i<=n;i++){
for(j=0;j<i;j++){
cnt[i]+=cnt[j]*cnt[i-j-1];
}
}
cout<<cnt[n]<<" "<<n+1<<endl;
}
return 0;
}