最后一个点死活过不了qaq,靓仔们来瞧一瞧
查看原帖
最后一个点死活过不了qaq,靓仔们来瞧一瞧
586643
Linksesame楼主2022/2/3 11:47
#include<iostream>

using namespace std;

int main()
{
    int n;//地图长
    int m;//地图宽
    int c;//首都边长
    int k[1001][1001];//地图
    int b[1001][1001] = {0};
    int max = -1000000;
    int ansh,ansl;

    cin>>n>>m>>c;

    for(int i = 1;i < n + 1;i++){
        for(int j = 1;j < m + 1;j++){
            cin>>k[i][j];
            b[i][j] = b[i - 1][j] + b[i][j - 1] - b[i - 1][j - 1] + k[i][j];//从下标(1,1)开始到下标(i,j)的子矩阵的元素和
        }
    }

    for(int i = 1;i < n + 1 - c;i++){
        for(int j = 1;j < m + 1 - c;j++){
            if(max < b[i + c - 1][j + c - 1] - b[i + c - 1][j - 1] - b[i - 1][j + c - 1] + b[i - 1][j - 1]){
                max = b[i + c - 1][j + c - 1] - b[i + c - 1][j - 1] - b[i - 1][j + c - 1] + b[i - 1][j - 1];
                ansh = i;
                ansl = j;
            }
        }
    }

    cout<<ansh<<" "<<ansl;

    return 0;
}

求求帮忙

2022/2/3 11:47
加载中...