OpenJudge计算概论-异常细胞检测

/*========================================================================
异常细胞检测
总时间限制: 1000ms 内存限制: 65536kB
描述
我们拍摄的一张CT照片用一个二维数组来存储,假设数组中的每个点代表一个细胞。每个细胞的颜色用0到255之间(包括0和255)的一个整数表示。我们定义一个细胞是异常细胞,如果这个细胞的颜色值比它上下左右4个细胞的颜色值都小50以上(包括50)。数组边缘上的细胞我们不检测。现在我们的任务是,给定一个存储CT照片的二维数组,写程序统计照片中异常细胞的数目。
输入
第一行包含一个整数N(100>=N>2).
下面有 N 行,每行有 N 个0~255之间的整数,整数之间用空格隔开。
输出
输出只有一行,包含一个整数,为异常细胞的数目。
样例输入
4
70 70 70 70
70 10 70 70
70 70 20 70
70 70 70 70 
样例输出
2
==========================================================================*/
#include<stdio.h>
#include<math.h>
int main()
{
    int N;
    int a[102][102],i,j;
    int s=0;
    bool aa,b,c,d;
    //freopen("4.in","r",stdin);
    scanf("%d",&N);
    for(i=0;i<N;i++)
    {
        for(j=0;j<N;j++)
            scanf("%d",&a[i][j]);
    }
    N--;
    for(i=1;i<N;i++)
    {
        for(j=1;j<N;j++)
        {
            aa=(bool)(fabs(a[i][j]-a[i-1][j])>=50);
            b=(bool)(fabs(a[i][j]-a[i+1][j])>=50);
            c=(bool)(fabs(a[i][j]-a[i][j-1])>=50);
            d=(bool)(fabs(a[i][j]-a[i][j+1])>=50);
            if(aa&&b&&c&&d)
                s++;
        }
    }
    printf("%d
",s);
    return 0;
}
原文地址:https://www.cnblogs.com/huashanqingzhu/p/3448728.html