• 19:肿瘤检测


    19:肿瘤检测

    总时间限制: 
    1000ms
     
    内存限制: 
    65536kB
    描述

    一张CT扫描的灰度图像可以用一个N*N(0 < N <= 100)的矩阵描述,矩阵上的每个点对应一个灰度值(整数),其取值范围是0-255。我们假设给定的图像中有且只有一个肿瘤。在图上监测肿瘤的方法如下:如果某个点对应的灰度值小于等于50,则这个点在肿瘤上,否则不在肿瘤上。我们把在肿瘤上的点的数目加起来,就得到了肿瘤在图上的面积。任何在肿瘤上的点,如果它是图像的边界或者它的上下左右四个相邻点中至少有一个是非肿瘤上的点,则该点称为肿瘤的边界点。肿瘤的边界点的个数称为肿瘤的周长。现在给定一个图像,要求计算其中的肿瘤的面积和周长。

    输入
    输入第一行包含一个正整数N(0 < N <= 100),表示图像的大小;接下来N行,每行包含图像的一行。图像的一行用N个整数表示(所有整数大于等于0,小于等于255),两个整数之间用一个空格隔开。
    输出
    输出只有一行,该行包含两个正整数,分别为给定图像中肿瘤的面积和周长,用一个空格分开。
    样例输入
    6
    99 99 99 99 99 99
    99 99 99 50 99 99
    99 99 49 49 50 51
    99 50 20 25 52 99
    40 50 99 99 99 99
    99 99 99 99 99 99
    
    样例输出
    9 8
    来源
    计算概论05-模拟考试1
     1 #include<iostream>
     2 using namespace std;
     3 int a[1001][1001];
     4 int now=1;
     5 int m_tot=0;
     6 int z_tot=0;
     7 int ans=0;
     8 int main() 
     9 {
    10     int n;
    11     cin>>n;
    12     for(int i=1;i<=n;i++)
    13     {
    14         for(int j=1;j<=n;j++)
    15         {
    16             cin>>a[i][j];
    17             if(a[i][j]<=50)
    18             {
    19                 m_tot++;
    20             }
    21         }
    22     }
    23     for(int i=1;i<=n;i++)
    24     {
    25         for(int j=1;j<=n;j++)
    26         {
    27             if(a[i][j]<=50&&(i==1||j==1||i==n||j==n||a[i-1][j]>50||a[i+1][j]>50||a[i][j-1]>50||a[i][j+1]>50))
    28             {
    29                 
    30                 z_tot++;
    31             }
    32         }
    33     }
    34     cout<<m_tot<<" "<<z_tot;
    35     return 0;
    36 }
  • 相关阅读:
    centos 安装 py 3.0+
    ubuntu下安装多版本Python
    DRF之注册器响应器分页器
    头部随着滚动高度的变化由透明慢慢变成不透明
    悬浮滚动
    判断某天是周几
    正则限制input只能输入大于0的数字
    原生js倒计时
    从两个时间段里分别计算出有几天工作日与周末
    sublime text3连续打出1到10的标签div
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/6497768.html
Copyright © 2020-2023  润新知