社区讨论

80分#2#10WA,求助大佬

P1077[NOIP 2012 普及组] 摆花参与者 4已保存回复 5

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
5 条
当前快照
1 份
快照标识符
@lo2dopcb
此快照首次捕获于
2023/10/23 12:09
2 年前
此快照最后确认于
2023/11/03 12:16
2 年前
查看原帖
题解和我的思路几乎一模一样,然而我的就是过不去…… 是细节上出错了吗?
CPP
// ConsoleApplication9.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
const int maxn = 100, mod = 1000007;
int m, n;
int sum[maxn][maxn], a[maxn];
void dp()
{
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= m; j++)
        {
            for (int p = 0; p <= a[i]; p++)
            {
                if (j >= p)
                    sum[i][j] = (sum[i - 1][j - p] + sum[i][j]) % mod;
                else break;
            }
        }
    }
}
//i begin from 1
int main()
{
    cin >> n >> m;
    for (int i = 1; i <= n; i++)
        cin >> a[i];
    for (int i = 0; i <= n; i++)
        sum[i][0] = 1;
    //sum[0][0] = 1;
    dp();
    cout << sum[n][m] % mod;
    return 0;
}

回复

5 条回复,欢迎继续交流。

正在加载回复...