记录编号 335471 评测结果 AAAAAAAAAA
题目名称 [NOIP 2012]摆花 最终得分 100
用户昵称 GravatarLethur 是否通过 通过
代码语言 C++ 运行时间 0.009 s
提交时间 2016-11-02 12:03:58 内存使用 0.36 MiB
显示代码纯文本
#include <iostream>  
#include <cstdio>  
#include <cstring>  
#include <algorithm>  
#include <string>  
#include <vector>  
#include <queue>  
using namespace std;  
  
#define mod 1000007  
  
const int maxn = 105;  
int n, m;  
int a[maxn];  
int f[maxn][maxn];  
  
int main() {  
    freopen("flower.in", "r", stdin);  
    freopen("flower.out","w",stdout);
    while (cin >> n >> m) {  
        for (int i=1;i<=n;++i) cin >> a[i];  
        memset(f, 0, sizeof(f));  
        for (int i=0;i<=n;++i) f[i][0] = 1;  
        for (int i=1;i<=n;++i)  
            for (int j=1;j<=m;++j) {  
                f[i][j] = f[i-1][j]+f[i][j-1];  
                if (j - a[i] - 1 >= 0)  
                    f[i][j] -= f[i-1][j-a[i]-1];  
                f[i][j] = (f[i][j] + mod)%mod;  
            }  
        cout << f[n][m];  
    }  
    return 0;  
}