悬关求调
查看原帖
悬关求调
1085787
chenyyegg楼主2024/1/23 09:08
#include<bits/stdc++.h>
using namespace std;
int a[105][105],n,m,ans;
int cun(int a[105][105],int i,int j){
    int ma=0;
    if(a[i][j]>a[i-1][j-1])return 0;
    ma=max(ma,a[i-1][j-1]-a[i][j]);
    if(a[i][j]>a[i][j-1])return 0;
    ma=max(ma,a[i][j-1]-a[i][j]);
    if(a[i][j]>a[i+1][j-1])return 0;
    ma=max(ma,a[i+1][j-1]-a[i][j]);
    if(a[i][j]>a[i-1][j])return 0;
    ma=max(ma,a[i-1][j]-a[i][j]);
    if(a[i][j]>a[i+1][j])return 0;
    ma=max(ma,a[i+1][j]-a[i][j]);
    if(a[i][j]>a[i-1][j+1])return 0;
    ma=max(ma,a[i-1][j+1]-a[i][j]);
    if(a[i][j]>a[i][j+1])return 0;
    ma=max(ma,a[i][j+1]-a[i][j]);
    if(a[i][j]>a[i+1][j+1])return 0;
    ma=max(ma,a[i+1][j+1]-a[i][j]);
    return ma;
}
int main(){
    for(int i=0;i<=104;i++)for(int j=0;j<=104;j++)a[i][j]=10005;
    cin>>n>>m;
    for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)cin>>a[i][j];
    for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)ans+=cun(a,i,j);
    cout<<ans;
    return 0;
}
2024/1/23 09:08
加载中...