想看题解?不可能!!!你被骗了!!

3 条评论

  • @ 2025-6-22 17:53:24
    #include<bits/stdc++.h>
    using namespace std;
    long long n,m,c,a[1010][1010],s[1010][1010];
    int main(){
    	cin>>n>>m>>c;
    	for(int i=1;i<=n;i++){
    		for(int j=1;j<=m;j++){
    			cin>>a[i][j];
    			s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+a[i][j];
    		}
    	}
    	long long ma=-1e10,x=0,y=0;
    	for(int i=1;i<=n-c+1;i++){
    		for(int j=1;j<=n-c+1;j++){
    			int x1=i,y1=j,x2=x1+c-1,y2=y1+c-1;
    			if(ma<s[x2][y2]-s[x2][y1-1]-s[x1-1][y2]+s[x1-1][y1-1]){
    				x=i,y=j;
    				ma=s[x2][y2]-s[x2][y1-1]-s[x1-1][y2]+s[x1-1][y1-1];
    			}
    		}
    	}
    	cout<<x<<" "<<y;
    	return 0;
    }
    
    
    • @ 2025-6-22 17:49:48

      这个是真正的题解:

      #include<bits/stdc++.h>
      using namespace std;
      long long a[1010][1010],s[1010][1010];
      int main(){
          long long n,m,c,x,y;
          cin>>n>>m>>c;
          for(int i=1;i<=n;i++){
              for(int j=1;j<=m;j++){
                  scanf("%lld",&a[i][j]);
                  s[i][j]=s[i][j-1]+s[i-1][j]-s[i-1][j-1]+a[i][j];
              }
          }
          long long mx=-1e10;
          for(int x1=1;x1<=n-c+1;x1++){
              for(int y1=1;y1<=m-c+1;y1++){
                  int x2=x1+c-1,y2=y1+c-1;
                  if(mx<=s[x2][y2]+s[x1-1][y1-1]-s[x2][y1-1]-s[x1-1][y2]){
                      mx=s[x2][y2]+s[x1-1][y1-1]-s[x2][y1-1]-s[x1-1][y2];
                      x=x1;
                      y=y1;
                  }
              }
          }
          cout<<x<<" "<<y;
          return 0;
      }
      
      • @ 2025-6-22 17:49:00

        我是题解!

        • 1

        信息

        ID
        1799
        时间
        1000ms
        内存
        256MiB
        难度
        6
        标签
        递交数
        103
        已通过
        35
        上传者