这题我是用广度优先搜索来做的

一开始先一个一个点找,如果这个点是细胞,那么就搜索。

注意:可以把数组开大点

const
dx:array[1..4]of longint=(0,-1,0,1);
dy:array[1..4]of longint=(1,0,-1,0);
var
n,m,i,j,tj:longint;
a:array[-10..100,-10..100]of boolean;
x:char;
state:array[0..4000,0..4000]of longint;

procedure bfs(x,y:longint);
var
head,tail,i:longint;
begin
    inc(tj);
    a[x,y]:=false;
    head:=0;tail:=1;
    state[1,1]:=x;state[1,2]:=y;
    repeat
         inc(head);
         for i:=1 to 4 do
         begin
             x:=state[head,1]+dx[i];
             y:=state[head,2]+dy[i];
             if (x>0)and(x<=m)and(y>0)and(y<=n)and(a[x,y]=true) then
             begin
                 inc(tail);
                 state[tail,1]:=x;
                 state[tail,2]:=y;
                 a[x,y]:=false;
             end;
         end;
    until head>=tail;
end;

begin
    readln(m,n);
    fillchar(a,sizeof(a),true);
    for i:=1 to m do
    begin
        for j:=1 to n do
        begin
            read(x);
            if x='0' then a[i,j]:=false;
        end;
        readln;
    end;
    for i:=1 to m do
    for j:=1 to n do
    if a[i,j]=true then bfs(i,j);
    write(tj);
end.

转载于:https://www.cnblogs.com/YYC-0304/p/9500231.html

求细胞数量pascal题解相关推荐

  1. 搜索2(一、马的遍历 二、 求细胞数量 三、01迷宫 四、奇怪的电梯 五、海战 六、路障)

    搜索2 一.马的遍历 二. 求细胞数量 三.01迷宫 四.奇怪的电梯 五.海战 六.路障 一.马的遍历 题目描述 有一个n*m的棋盘(1<n,m<=400),在某个点上有一个马,要求你计算 ...

  2. [LUOGU]P1451 求细胞数量

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

  3. 求细胞数量:一矩形阵列由数字 0 到 9 组成,数字 1 到 9 代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。

    题目描述 一矩形阵列由数字 0 到 9 组成,数字 1 到 9 代表细胞,细胞的定义为沿细胞数字上下左右若还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数. 输入 第一行两个整数代表矩阵大小 n 和 ...

  4. 识别硬币和细胞数量+条形码检测(python+opencv)

    如愿 一.准备工作 二.硬币和细胞数量识别 三.条形码定位和识别 四.总结 五.参考资料 一.准备工作 所用图片 python版本以及opencv版本 python 3.8.12 opencv 3.4 ...

  5. 牛客题霸 [ 岛屿数量] C++题解/答案

    牛客题霸 [ 岛屿数量] C++题解/答案 题目描述 给一个01矩阵,1代表是陆地,0代表海洋, 如果两个1相邻,那么这两个1属于同一个岛.我们只考虑上下左右为相邻. 岛屿: 相邻陆地可以组成一个岛屿 ...

  6. java 蓝桥杯算法训练 求完数(题解)

    试题 算法训练 8-2求完数 资源限制 时间限制:50.0s 内存限制:256.0MB 问题描述 如果一个自然数的所有小于自身的因子之和等于该数,则称为完数.设计算法,打印1-9999之间的所有完数. ...

  7. false true求或_如何依据【关键字】求【数量和】

    在实际工作中我们有时候会遇到这样的情况:要求对符合某一关键字的品类求和.例如下例,求所有电视机数量总和. 这里我们需要用到一个逻辑判断函数:ISNUMBER函数.它的语法结构是: ISNUMBER(v ...

  8. 数量乘单价秋金额的计算机公式,“Excel表格中,总计栏怎么设置每一行的数量乘以金额的总和?求公式“数量单价怎么求金额公式...

    Excel表格中,总计栏怎么设置每一行的数量乘以金额的总和?求公式 可以多设一列来做表格,做表格也方便. 具体的操作步骤如下: 1.在顶部插入一列,在H1单元格总填计,在A4单元格中填写总额. 2.在 ...

  9. Leetcode1700. 无法吃午餐的学生数量[C++题解]:模拟题简单,用queue

    文章目录 题目分析 题目链接 补充 Queue的操作 题目分析 题意重述:排队领食物,食物2种属性:学生有唯一偏好.如果学生看到食物队头是自己喜欢吃的,拿走:如果学生看到食物队头不是自己喜欢吃的,掉头 ...

最新文章

  1. 机器学习的5个成功案例
  2. Android的Activity屏幕切换动画(一)-左右滑动切换
  3. 4. HTML表单标签
  4. 如何实现两个数据库之间的同步
  5. Golang sync.Mutex 与 sync.RWMutex
  6. 对zebra的一点思考 --- 002
  7. matlab中boxplot函数的参数设置_Matlab箱形图boxplot函数用法
  8. android hook 模拟点击_查找和定位Android应用的按钮点击事件的代码位置基于Xposed Hook实现...
  9. html5的项目报告项目背景,项目可行性研究报告范本
  10. 文献翻译__基于自适应全变差L1正则化的椒盐图像去噪
  11. 玩游戏计算机虚拟内存怎么设置,多少虚拟内存设置适合玩游戏(多少虚拟内存设置适合)...
  12. exdoll机器人_打造国内领先的定制化人工智能机器人品牌, EXDOLL新品惊艳亮相...
  13. 基于yacto构建am5728 SDK
  14. 淘宝电商创业可能会面临哪些问题?
  15. 2022年12月招聘、内推最新职位
  16. OPNET win7安装
  17. 短路与和短路或的区别
  18. 计算机开机没有找到引导设备,电脑开机显示没有可以引导的设备
  19. 鼠标左键按钮不起作用? 这是解决方法
  20. 51nod 1574 || Codeforces 584 E. Anton and Ira 思维+构造+贪心

热门文章

  1. [云炬python3玩转机器学习笔记] 3-11Matplotlib数据可视化基础
  2. [云炬python3玩转机器学习笔记] 3-5Numpy数组和矩阵的基本操作
  3. 回馈读者:赠花书一本!
  4. 普211标准三维EE零基础转CS申
  5. 清理Win7系统的批处理
  6. 在stringgrid的drawcell事件处理过程中,给单元格赋值时,要用textout输出,不要像一般给cell[i,j]赋值那样。
  7. 关于JQUERY动态加载页面时的JS失效的问题
  8. 实验二 二叉树的操作与实现
  9. Selector SelectionKey
  10. Java8--Lambda表达式对List集合操作