链接

分析:卡特兰数,具体请看,注意一下组合数的求法

 1 #include "iostream"
 2 #include "cstdio"
 3 #include "cstring"
 4 #include "string"
 5 using namespace std;
 6 const int maxn=55;
 7 long long dp[maxn][maxn];
 8 int n;
 9 void init(int m){
10     for(int i=0;i<=m;i++)
11         dp[i][0]=1;
12     for(int i=0;i<=m;i++)
13         dp[i][i]=1;
14     for(int i=2;i<=m;i++){
15         for(int j=1;j<i;j++)
16             dp[i][j]=dp[i-1][j-1]+dp[i-1][j];
17     }
18 }
19 int main()
20 {
21     cin>>n;
22     init(2*n);
23     cout<<dp[2*n][n]/(n+1)<<endl;
24 }
View Code

 

posted @ 2017-06-18 15:50  wolf940509  阅读(91)  评论(0)    收藏  举报