洛谷p2004

P2004 领地选择

简单的二维前缀和

点击查看代码
#include<bits/stdc++.h>
using namespace std;
using ll = long long;

int main() {
    int n, m, c; cin >> n >> m >> c;
    vector<vector<int>>v(n + 1, vector<int>(m + 1));
    ll ans = LLONG_MIN;
    int ansx, ansy;
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j <= m; j++) {
            cin >> v[i][j];
            v[i][j] += v[i - 1][j] + v[i][j - 1] - v[i - 1][j - 1];
        }
    }
    for(int i = c; i <= n; i++) {
        for(int j = c; j <=m; j++) {
            if(v[i][j] + v[i - c][j - c] - v[i - c][j] - v[i][j - c] > ans) {
                ans = v[i][j] + v[i - c][j - c] - v[i - c][j] - v[i][j - c];
                ansx = i - c + 1;
                ansy = j - c + 1;
            }
        }
    }
    cout << ansx << ' ' << ansy << '\n';
    return 0;
}
posted @ 2025-05-17 14:47  Chuan81  阅读(35)  评论(0)    收藏  举报