一个疑问
  • 板块P2004 领地选择
  • 楼主ZeroF
  • 当前回复4
  • 已保存回复4
  • 发布时间2021/12/28 19:42
  • 上次更新2023/10/28 13:26:15
查看原帖
一个疑问
385165
ZeroF楼主2021/12/28 19:42

先贴代码

#include<iostream>
using namespace std;
const int N=1010;
const int M=1010;
const int INFTY=-0x7fffffff;
long long a[N][M],sum[N][M],maxn=-INFTY,index_x,index_y;
int main(){
	int n,m,c;
	cin>>n>>m>>c;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			cin>>a[i][j];
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=m;j++){
			sum[i][j]=sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]+a[i][j];
		}
	}
	for(int i=c;i<=n;i++){
		for(int j=c;j<=m;j++){
			int dx=i,dy=j;
			int tx=i-c,ty=j-c;
			if(sum[dx][dy]+sum[tx][ty]-sum[dx][ty]-sum[tx][dy]>maxn){
               maxn=sum[dx][dy]+sum[tx][ty]-sum[dx][ty]-sum[tx][dy];
               index_x=tx+1;index_y=ty+1;
            }
		}
	}
	cout<<index_x<<" "<<index_y<<endl; 
	return 0;
}

我在Dev-C++测试样例输出0,0,自己感觉没什么漏洞,请大佬们指点一下,谢谢!

2021/12/28 19:42
加载中...