要到达(n,n)只能从(n,n-1)或者从(n-1,n)到达,所以dp[n][n]=dp[n-1][n]+dp[n][n-1]
#include<bits/stdc++.h>
__int64 dp[36][36]={};
using namespace std;
int main(){
int i,n,m=0,j;
for(i=0;i<36;i++)
dp[i][0]=1;
for(i=1;i<36;i++){
for(j=1;j<=i;j++)
dp[i][j]=dp[i-1][j]+dp[i][j-1];
}
while(scanf("%d",&n)&&n!=-1){
m++;
printf("%d %d %I64d\n",m,n,2*dp[n][n]);
}
return 0;
}