zoukankan      html  css  js  c++  java
  • 洛谷 P1451 求细胞数量

    题目描述

    一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。(1<=m,n<=100)?

    输入输出格式

    输入格式:

    输入:整数m,n(m行,n列)

    矩阵

    输出格式:

    输出:细胞的个数

    输入输出样例

    输入样例#1:
    4  10
    0234500067
    1034560500
    2045600671
    0000000089
    
    输出样例#1:
    4


    dfs
    屠龙宝刀点击就送
    #include <iostream>
    #include <cstdio>
    using namespace std;
    char tx[151][151];
    int fx[5]={1,-1,0,0},fy[5]={0,0,-1,1},m,n,ans;
    void dfs(int x,int y)
    {
        tx[x][y]='0';
        for(int k=0;k<4;++k)
        {
            int to_x=x+fx[k],to_y=y+fy[k];
            if(to_x>=1&&to_x<=m&&to_y>=1&&to_y<=n&&tx[to_x][to_y]!='0') dfs(to_x,to_y);
        }
    }
    int main()
    {
        scanf("%d%d",&m,&n);
        for(int i=1;i<=m;++i)
         for(int j=1;j<=n;++j)
          cin>>tx[i][j];
        for(int i=1;i<=m;++i)
         for(int j=1;j<=n;++j)
          if(tx[i][j]!='0') 
          {
              ans++;
            dfs(i,j);
          }
        printf("%d",ans);
        return 0; 
    }
    
    
    
     
    我们都在命运之湖上荡舟划桨,波浪起伏着而我们无法逃脱孤航。但是假使我们迷失了方向,波浪将指引我们穿越另一天的曙光。
  • 相关阅读:
    Day 69
    Day 68
    Day 67
    Day 66
    Day 65
    Day 64
    Day 63
    Day 62
    Day 61
    Day 60
  • 原文地址:https://www.cnblogs.com/ruojisun/p/6685353.html
Copyright © 2011-2022 走看看