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

     思路:搜索

    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int n,m,ans;
    char s[110];
    int map[110][110];
    int dx[4]={1,-1,0,0};
    int dy[4]={0,0,1,-1};
    void dfs(int x,int y){
        for(int i=0;i<4;i++){
            int cx=dx[i]+x;
            int cy=dy[i]+y;
            if(cx>=1&&cx<=n&&cy>=1&&cy<=m&&map[cx][cy]){
                map[cx][cy]=0;
                dfs(cx,cy);
            }
        }
    }
    int main(){
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++){
            scanf("%s",s);
            for(int j=0;j<m;j++)
                if(s[j]>='1'&&s[j]<='9')    map[i][j+1]=1;
        }
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                if(map[i][j]){
                    dfs(i,j);
                    ans++;
                }
        cout<<ans;    
    }
    细雨斜风作晓寒。淡烟疏柳媚晴滩。入淮清洛渐漫漫。 雪沫乳花浮午盏,蓼茸蒿笋试春盘。人间有味是清欢。
  • 相关阅读:
    [CF1365D] Solve The Maze
    [CF478C] Table Decorations
    [CF466D] Increase Sequence
    [CF449D] Jzzhu and Numbers
    [CF507E] Breaking Good
    [CF337D] Book of Evil
    [CF1253E] Antenna Coverage
    VMware 在 Win10 下开机后死机的解决方案
    [CF1009F] Dominant Indices
    [CF1037E] Trips
  • 原文地址:https://www.cnblogs.com/cangT-Tlan/p/7887090.html
Copyright © 2011-2022 走看看