求助,全AC了,但是出现了很奇怪的问题
查看原帖
求助,全AC了,但是出现了很奇怪的问题
931314
Latsukisan楼主2023/4/20 00:33
#include <bits/stdc++.h>
using namespace std;
long long mp1[1005][1005];
long long mp2[1006][1006];
int main()
{
	long long n=0,m=0,c=0;
	long long ans=0,an=0;
	cin>>n>>m>>c;
	for(int i=0;i<m;i++)
	for(int k=0;k<n;k++)
	cin>>mp1[k][i];
	mp2[1][1]=mp1[0][0];
	for(int k=0;k<n;k++)
	for(int i=0;i<m;i++)
	{
		if(i==0)
		{
			mp2[k+1][1]=mp1[k][0];	
		}
		mp2[k+1][i+1]=mp1[k][i]+mp2[k+1][i-1+1];
	}
	for(int i=0;i<m;i++)
	for(int k=0;k<n;k++)
	{
		mp2[k+1][i+1]+=mp2[k-1+1][i+1];
	}
	int x=0,y=0,x1=0,y1=0,x2=0,y2=0;
	for(int k=1;k<n-c+2;k++)
	for(int i=1;i<m-c+2;i++)
	{
		x1=k;
		y1=i;
		x2=x1+c-1;
		y2=y1+c-1;
		if(k==1&&i==1)
		ans=mp2[x2][y2]-mp2[x1-1][y2]-mp2[x2][y1-1]+mp2[x1-1][y1-1];
		an=mp2[x2][y2]-mp2[x1-1][y2]-mp2[x2][y1-1]+mp2[x1-1][y1-1];
		if(an>ans)
		{
			ans=an;
			x=x1;
			y=y1;
		}
	}
	cout<<y<<" "<<x;
	return 0;
}

非常的奇怪,结果输出是先y后x就全ac了,但是我感觉我并没有搞反顺序啊??

2023/4/20 00:33
加载中...