为什么WA on #7?下载了数据感觉没问题
查看原帖
为什么WA on #7?下载了数据感觉没问题
833124
BIOS楼主2023/5/20 19:04
#include <iostream>
#include <cstring>
#include <vector>
using namespace std;
vector<int> ac;
const int N = 102;
int f[N][N], a[N][N], n, m;
int main()
{
    cin >> n >> m;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            scanf("%d", &a[i][j]);
    memset(f, -0x3f, sizeof(f));
    for (int i = 0; i <= m; i++)
        f[0][i] = 0;
    for (int i = 1; i <= n; i++)
        for (int j = 1; j <= m; j++)
            f[i][j] = max(f[i][j], max(f[i - 1][j - 1] + a[i][j], f[i][j - 1]));
    cout << f[n][m] << endl;
    int pos = m, sum = f[n][m];
    for (int i = n; i >= 1; i--)
        for (int j = pos; j >= 1; j--)
        {
            if (f[i][j] < sum)
            {
                ac.push_back(j + 1);
                pos = j, sum = f[i - 1][j];
                break;
            }
        }
    for (int i = ac.size() - 1; ~i; i--)
        cout << ac[i] << " ";
}

我代码输出的数值跟测试点答案是一样的,不同的是输出的花瓶序号,但这不是SPJ题目吗???? 我的输出: 1383 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 21 22 23 24 26 27 28 30 31 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 测试点输出: 1383 1 3 4 5 6 7 9 10 11 12 13 14 15 16 17 18 21 22 23 24 26 27 28 30 31 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

2023/5/20 19:04
加载中...