WOJ-287 商人会议

来源:互联网 发布:java velocity 编辑:程序博客网 时间:2024/05/16 09:04

点击这里查看题目
一道动态规划的题,在草稿纸上试着画画,把公式推出来就很容易了。

n为奇数时,F[n]=0;
n为偶数时,F[n]=F[n-2]+F[n-4]*F[2]+F[n-6]*F[4]+……+F[2]*F[n-4]+F[n-2];

为了方便,把F[0]赋值1,使得F[n-2]可以表述为F[n-2]*F[0]

#include<iostream>using namespace std;long long ans[55];int main(){    for(int i=0;i<=50;i++)ans[i]=0;    ans[0]=1;    ans[2]=1;    for(int i=4;i<=50;i+=2)    {        for(int j=0;j<=i-2;j+=2)        {            ans[i]+=ans[j]*ans[i-2-j];        }    }    int n;    while(cin>>n)    {        cout<<ans[n]<<endl;    }}
原创粉丝点击