玄关求调
查看原帖
玄关求调
1087404
Florr_m27楼主2024/1/23 09:03
#include<bits/stdc++.h>
using namespace std;
long long a[105][105],n,m,ans;
bool check(long long i,long long j){
    if(a[i][j]<a[i][j-1]&&a[i][j]<a[i+1][j]&&a[i][j]<a[i-1][j]){
    	return true;
	}
	return false;
}
long long mimi(long long i,long long j){
	return min(min(a[i][j-1],a[i+1][j]),a[i-1][j]);
}
int main(){
    cin>>n>>m;
    for(long long i=1;i<=n;i++){
    	for(long long j=1;j<=m;j++){
    		cin>>a[i][j];
		}
    }
	for(long long i=2;i<n;i++){
    	for(long long j=2;j<(m-1);j++){
    	    if(check(i,j)==true){
    		    ans+=(mimi(i,j)-a[i][j]);
    		    a[i][j]=mimi(i,j);
		    }
	    }
	    if(check(i,m-1)==true&&a[i][(m-1)]<a[i][m]){
    		ans+=(min(mimi(i,m-1),a[i][m])-a[i][(m-1)]);
    		a[i][(m-1)]=min(mimi(i,m-1),a[i][m]);
		}
	}
	cout<<ans;
    return 0;
}
2024/1/23 09:03
加载中...