Catalan

推导过程中假定m[2]=1是最巧妙的设计

#include<iostream>
#include<algorithm>
using namespace std;
//catalan 
int main(void)
{
    int n,m[100];
    cin >> n;
    for(int i=2;i<=n;i++) m[i]=0;
    m[2]=1;
    for(int i=3;i<=n;i++)
    {
        for(int k=2;k<=i-1;k++)
        {
            m[i]+=m[k]*m[i-k+1];    
        } 
    }
    cout << m[n];
} 
原文地址:https://www.cnblogs.com/zuimeiyujianni/p/10475585.html