记录编号 7615 评测结果 AAAAAAAAAA
题目名称 地铁重组 最终得分 100
用户昵称 Gravatarzqzas 是否通过 通过
代码语言 C++ 运行时间 0.016 s
提交时间 2008-11-10 20:00:24 内存使用 1.25 MiB
显示代码纯文本
#include <iostream>
#include <fstream>

#define MAXN 510

using namespace std;

const int P=4096;

int n,p,ans,f[MAXN][MAXN];

void run()
{
     int i,j;
     for (i=0;i<=p&&i<=n;i++)
     {
         f[0][i]=1;
     }
     for (i=1;i<=n;i++)
         for (j=0;j<=n-i && j<=p;j++)
         {
             if (j+1<=p)
                f[i][j]+=f[i-1][j+1];
             if (j-1>=0)
                f[i][j]+=f[i][j-1];
             f[i][j]%=P;
         }
     ans=f[n][0];
}

void ini()
{
     cin>>n>>p;
}

int main()
{
    freopen("subway.in","r",stdin);
    freopen("subway.out","w",stdout);
    ini();
    run();
    cout<<ans;
    return 0;
}