梁旭罡分享。
2003普及组。
这是一个卡特兰数。(很多栈的问题都可以用卡特兰数解决)
证明大概是证明不出来的,但是以后发现规律就可以直接使用,
记住前几项(第0项开始)1、1、2、5、14、42。。。以后如果相同规律就可以使用。
递推公式:f[i]=f[i-1]*(4*i-2)/(i+1)
(注意要用long long)
#include <iostream>
using std::cout;
using std::cin;
long long f[500];
int main()
{
long n;
cin >> n;
f[0] = 1;
f[1] = 1;
for (long i=2;i<n+1;i++)
f[i] = f[i-1]*(4*i-2)/(i+1);
cout << f[n];
}