萌新求救,91分!快救救孩子吧!!!
查看原帖
萌新求救,91分!快救救孩子吧!!!
330901
WilliamFranklin楼主2022/7/18 19:37
#include<bits/stdc++.h>
using namespace std;
short a[5005][5005];
short pre[5005][5005];
int main() {
    int n, r;
    cin >> n >> r;
    int x, y, v;
    int sx = 0, sy = 0;
    for (int i = 1; i <= n; i++) {
        scanf("%d%d%d", &x, &y, &v);
        a[x][y] = (short)v;
    }
    for (int i = 0; i <= 5001; i++) {
        for (int j = 0; j <= 5001; j++) {
            pre[i][j] = pre[i - 1][j] + pre[i][j - 1] - pre[i - 1][j - 1] + a[i][j];
        }
    } 
    short maxn;
    int x2, y2, x3, y3;
    r--;
    maxn = pre[0][0];
    for (int i = 0; i <= 5001; i++) {
        for (int j = 0; j <= 5001; j++) {
            x2 = i - r, y2 = j - r, x3 = i, y3 = j, maxn = max(maxn, (short)(pre[x3][y3] - pre[x3][y2 - 1] - pre[x2 - 1][y3] + pre[x2 - 1][y2 - 1]));
        }
    }
    cout << maxn;
}

看了前几个贴,还是没找到错误。。。原大佬帮帮忙,谢谢!!!

2022/7/18 19:37
加载中...