全部评论 1

  • 二次改进版本➡️

    #include<bits/stdc++.h>
    using namespace std;
    int a[1001][1001],m,n,h,sum[1000000];
    bool f(int a1,int b1){
        int max_n = 0;
        int min_n = 1000000000;
        for(int i= 0;i<3;i++){
            for(int j = 0;j<3;j++){
                max_n = max(a[a1+i][b1+j],max_n);
                min_n = min(a[a1+i][b1+j],min_n);
            }
        }
        return max_n-min_n<=h;
    }
    int main()
    {
    	cin>>m>>n>>h;
    	for(int i = 0;i<m;i++){
    		for(int j = 0;j<n;j++){
    			cin>>a[i][j];
    		}
    	}
    	int k = 0;
    	for(int i = 0;i<m-2;i++){
    		for(int j = 0;j<n-2;j++){
    			if(f(i,j)){
    				sum[k] = a[i][j]+a[i][j+1]+a[i][j+2]+a[i+1][j]+a[i+1][j+1]+a[i+1][j+2]+a[i+2][j]+a[i+2][j+1]+a[i+2][j+2];
    				k++;
    			}
    		}
    	}
    	sort(sum,sum+k);
    	 cout<<sum[k-1];
    	return 0;
    } 
    

    3天前 来自 江苏

    1
暂无数据

提交答案之后,这里将显示提交结果~

首页