• 【我为标程写注释】细胞


    1.细胞

    题目描述

    一矩形阵列由数字0 到9 组成,数字1 到9 代表细胞,细胞的定义为沿

    细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞

    个数。

    输入

    一行两个数,N,M (1<=n,m<=100)

    N*M 的矩阵

    输出

    一个数据,表示细胞个数。

    这题就是一个搜索,因为数据小,所以暴力一点就可以了

     1 /*
     2     写代码人:std(不
     3     批注人:zx 
     4     指导老师:gg 
     5 */
     6 #include<iostream>
     7 using namespace std;
     8 int m,n;
     9 int a[50][80];
    10 int total;
    11 void work(int u,int v)    //搜索的过程 
    12 {
    13      a[u][v] = 0;    //避免重复搜索 
    14      if(u != m - 1 && a[u+1][v] != 0)    work(u+1,v);
    15      if(v != 0 && a[u][v-1] != 0)    work(u,v-1);
    16      if(v != n-1 && a[u][v+1] != 0)    work(u,v+1);
    17      if(u!=0 && a[u-1][v] != 0)    work(u-1,v);
    18 }
    19 int main()
    20 {
    21     //freopen("cell.in","r",stdin);
    22     //freopen("cell.out","w",stdout);
    23     total=0;
    24     scanf("%d%d",&m,&n);
    25     char ppp;
    26     int i,j;
    27     for(i = 0;i < m;i++)
    28     for(j = 0;j < n;j++){
    29         scanf("%c",&ppp);
    30         a[i][j] = ppp - '0';    //读入数据。这是scanf读入char的优点√ 
    31     }
    32     for(i = 0;i < m;i++){
    33         for(j = 0;j < n;j++){
    34             if(a[i][j]!=0){
    35                 work(i,j);
    36                 total++;    //每找到一个细胞(?)就+1 
    37             }
    38         }
    39     }
    40     
    41     printf("%d",total);
    42     return 0;
    43 }
  • 相关阅读:
    opencv源码编译安装后使用时出现undefined reference cv::imwrite
    OPPO手机永久打开USB调试模式
    bash 顺序执行等待前一个脚本执行完成
    cpp
    多线程
    关于nvme下ubuntu无法识别硬盘的问题
    极限建站
    新生赛
    pc_mbed_fpga_communication
    color_sensor_mbed
  • 原文地址:https://www.cnblogs.com/aristocrat/p/8822073.html
Copyright © 2020-2023  润新知