【杭电】[4500]小Q系列故事——屌丝的逆袭

这里写图片描述
这里写图片描述

首先把各个位置人的魅力值记录
然后分别计算就好了
因为只需要求最大值
所以在计算的时候只需要记录最大值就好了

#include<stdio.h>
#include<math.h>
int map[22][22];

int main() {
    int n,m;
    while(scanf("%d %d",&n,&m),n||m) {
        for(int i=0; i<n; i++)
            for(int j=0; j<m; j++)
                scanf("%d",&map[i][j]);
        int max=-999999,maxi,maxj;
        for(int i=0; i<n; i++) {
            for(int j=0; j<m; j++) {
                int sum=0;
                if(i-1>=0) {
                    if(map[i][j]*map[i-1][j]>0)
                        sum-=abs(map[i-1][j]);
                    else
                        sum+=abs(map[i-1][j]);
                }
                if(i+1<n) {
                    if(map[i][j]*map[i+1][j]>0)
                        sum-=abs(map[i+1][j]);
                    else
                        sum+=abs(map[i+1][j]);
                }
                if(j-1>=0) {
                    if(map[i][j]*map[i][j-1]>0)
                        sum-=abs(map[i][j-1]);
                    else
                        sum+=abs(map[i][j-1]);
                }
                if(j+1<m) {
                    if(map[i][j]*map[i][j+1]>0)
                        sum-=abs(map[i][j+1]);
                    else
                        sum+=abs(map[i][j+1]);
                }
                if(sum>max) {
                    max=sum;
                    maxi=i;
                    maxj=j;
                }
            }
        }
        printf("%d %d %d
",maxi+1,maxj+1,max);
    }
    return 0;
}

题目地址:【杭电】[4500]小Q系列故事——屌丝的逆袭

原文地址:https://www.cnblogs.com/BoilTask/p/12569666.html