AC了
2024-06-29 14:43:28
发布于:浙江
4阅读
0回复
0点赞
#include<iostream>
#include<cmath>
using namespace std;
int n,m,c,a[1001][1001],f[1001][1001],maxx=-0x7fffffff,x,y;
int main(){
cin>>m>>n>>c;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
scanf("%d",&a[i][j]); //输入矩阵
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
f[i][j]=a[i][j]+f[i-1][j]+f[i][j-1]-f[i-1][j-1]; //求前缀和(f[i][j]表示1,1到i,j数字之和)
for(int i=c;i<=m;i++)
for(int j=c;j<=n;j++)
if(f[i][j]-f[i-c][j]-f[i][j-c]+f[i-c][j-c]>maxx){
maxx=f[i][j]-f[i-c][j]-f[i][j-c]+f[i-c][j-c]; //解释如上
x=i-c+1;
y=j-c+1;
}
cout<<x<<" "<<y;
}
这里空空如也
有帮助,赞一个