• 洛谷 P1451 求细胞数量


    2019-06-03

    题目: 洛谷 P1451 求细胞数量: https://www.luogu.org/problemnew/show/P1451


    题目描述

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

    输入输出格式

    输入格式:

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

    矩阵

    输出格式:

    输出:细胞的个数

    输入输出样例

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

    ios::sync_with_stdio(0),cin.tie(0);大家都知道这句话可以增快cin,cout的速度。
    但此时需要特别注意
    ios::sync_with_stdio(0),使用本行代码时cin与scanf不能混用!!否则会有奇怪的错误。
    cin.tie(0),使cin与cout的绑定接触,所以cout可以正常使用。
    %*d 输入*位数字。
     1 //
     2 #include <bits/stdc++.h>
     3 using namespace std;
     4 typedef long long ll;
     5 #define ri register ll
     6 
     7 ll m,n,tot;
     8 ll a[105][105];
     9 bool vis[105][105];
    10 ll wayx[]={1,-1,0,0};
    11 ll wayy[]={0,0,1,-1};
    12 
    13 void dfs(ll x,ll y)
    14 {
    15     vis[x][y]=1;
    16     
    17 //    cout<<x<<" "<<y<<" -- "<<tot<<'
    ';
    18     for(ri i=0;i<4;i++)
    19     {
    20         ri xx=x+wayx[i],yy=y+wayy[i];
    21         if(xx<1 || xx>m || yy<1 || yy>n)continue;
    22         if(vis[xx][yy] || !a[xx][yy])continue;
    23         dfs(xx,yy);
    24     }
    25     return;
    26 }
    27 
    28 signed main()
    29 {
    30     //ios::sync_with_stdio(0),cin.tie(0);
    31     //cin>>m>>n;
    32     scanf("%lld%lld",&m,&n);
    33     for(ri i=1;i<=m;i++)
    34     {
    35         for(ri j=1;j<=n;j++)
    36         {
    37             scanf("%1lld",&a[i][j]);
    38         }
    39     }
    40     for(ri i=1;i<=m;i++)
    41     {
    42         for(ri j=1;j<=n;j++)
    43         {
    44             if(vis[i][j] || !a[i][j])continue;
    45             dfs(i,j);
    46             tot++;
    47         }
    48     }
    49     cout<<tot<<'
    ';
    50     return 0;
    51 }
    52 //
  • 相关阅读:
    git相关整理
    cookie、sessionStorage和localStorage
    AJAX学习笔记
    json web token
    加密算法
    单点登陆
    给手机网络添加手动代理
    oracle数据库索引
    类加载器
    类加载过程
  • 原文地址:https://www.cnblogs.com/Vty66CCFF/p/10967155.html
Copyright © 2020-2023  润新知