只有20分,不知道错哪儿了,求调
查看原帖
只有20分,不知道错哪儿了,求调
800751
acmwriter楼主2024/1/18 13:50
#include<bits/stdc++.h>
using namespace std;
int n,m,t;
long long a[1005][1005],maxn[1005][1005],minn[1005][1005],ans=100000000;
int main(){
    cin>>n>>m>>t;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];
            maxn[i][j]=a[i][j];
            minn[i][j]=a[i][j];
        }
    }
    for(int k=2;k<=t;k++){
        for(int i=1;i<=n-1;i++){
            for(int j=1;j<=m-1;j++){
                maxn[i][j]=max(a[i][j],max(maxn[i+1][j+1],max(maxn[i+1][j],maxn[i][j+1])));
                minn[i][j]=min(a[i][j],min(minn[i+1][j+1],min(minn[i+1][j],minn[i][j+1])));
            }
        }
    }
    for(int i=1;i<=n-t;i++){
        for(int j=1;j<=m-t;j++){
            ans=min(ans,maxn[i][j]-minn[i][j]);
        }
    }
    cout<<ans;
    return 0;
}
2024/1/18 13:50
加载中...