您的位置:首页 > 运维架构

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

2013-11-28 23:44 399 查看
/*========================================================================
异常细胞检测
总时间限制: 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\n",s);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: