记录编号 195178 评测结果 AAAAAAAAAA
题目名称 [NOIP 2012]摆花 最终得分 100
用户昵称 Gravatar+1s 是否通过 通过
代码语言 C++ 运行时间 0.011 s
提交时间 2015-10-18 11:26:18 内存使用 0.35 MiB
显示代码纯文本
#include<fstream>
#include<cstring>
using namespace std;
int arr[105],a[105][105];
ifstream fin("flower.in");
ofstream fout("flower.out");
int  f(int i,int j)
{
    if(i==1&&j==0)return 1;
    if(i==1&&j>arr[i])return 0;
    if(i==1)return 1;
    int r=0;
    if(a[i][j]>0) return a[i][j];
    for(int k=0;k<=arr[i];k++)
    {
        if(j>=k)
            r=(r+f(i-1,j-k))%1000007;
    }
    a[i][j]=r;
    return r;
}
int  main()
{
    int n,m;
    fin>>n>>m;
    memset(a,0,sizeof(a));
    for(int i=1;i<=n;i++)
    {
        fin>>arr[i];
    }
    fout<<f(n,m)%1000007;
    return 0;
}