【c++提高】奶牛和草丛

目录

说明

输入格式

输出格式

样例

输入数据

输出数据

数据范围

题解


说明

奶牛Bessie计划好好享受柔软的春季新草。新草分布在R行C列的牧场里。它想计算一下牧场中的草丛数量。
在牧场地图中,每个草丛要么是单个“#”,要么是有公共边的相邻多个“#”。给定牧场地图,计算有多少个草丛。
例如,考虑如下5行6列的牧场地图

.#....
..#...
..#..#
....##
.....#

这个牧场有3个草丛:一个在第一行,一个在第二列横跨了二、三行,一个在第三行横跨了三、四、五行。

输入格式

第一行包含两个整数R和C,中间用单个空格隔开。
接下来R行,每行C个字符,描述牧场地图。字符只有“#”或“.”两种。

输出格式

输出一个整数,表示草丛数

样例

输入数据

5 6
.#....
..#...
..#..#
....##
.....#

输出数据

3

数据范围

1 <= R, C <= 100

题解

# include <bits/stdc++.h>
using namespace std;
int n,m;
char a[104][104];
long long num;
void dg(int x,int y)
{if (x<1||x>n||y<1||y>m)return ;if (a[x][y]=='#'){a[x][y]='.';dg(x+1,y);dg(x-1,y);dg(x,y+1);dg(x,y-1);}return ;
}
int main()
{cin>>n>>m;for (int u=1;u<=n;u++){for (int v=1;v<=m;v++){cin>>a[u][v];}}for (int u=1;u<=n;u++){for (int v=1;v<=m;v++){if (a[u][v]=='#'){dg(u,v);num+=1;}}}cout<<num;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/15429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

苍穹外卖--sky-take-out(一)

目录 d1 软件开发流程 项目介绍 产品原型 技术选型 前端环境搭建 后端环境搭建 Git版本控制 数据库环境搭建 nginx反向代理和负载均衡 导入接口文档 Swagger 问题 d2 用户登录 代码实现 MD5密码加密 新增员工 需求分析与设计 代码开发 代码完善&#xff08;Threa…

python中泛型的使用及简单样例

目录 一、泛型的定义 二、泛型的使用样例 2.1 泛型类 2.2. 泛型函数 2.3 泛型集合类型 一、泛型的定义 泛型允许你定义数据结构或函数时使用类型参数&#xff0c;这些类型参数在具体使用时可以被替换为具体的类型。Python 的 typing 模块提供了对泛型的支持&#xff0c;使…

ACW石子合并-XMUOJ元素共鸣:唤醒神之眼 -区间DP

题目 思路 话不多说&#xff0c;直接上代码 代码 /* ACW石子合并-XMUOJ元素共鸣&#xff1a;唤醒神之眼 JinlongW-2024/05/25 区间DP 当i<j时&#xff0c;f[i][j]min(f[i][k]f[k][j]s[j]-s[i-1]) 当ij时&#xff0c;f[i][j]0 最终答案&#xff1a;f[1][n] *//* 区间DP…

maven-依赖管理

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Maven BOM二、使用三、SpringBoot的依赖管理 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 依赖管理能带来啥&#xff1a; 避免…

二进制的协议的测试程序

一、引子 由于要调试二进制私有协议&#xff0c;不想用C重头到尾写&#xff0c;用C写工程量有点大&#xff0c;因此想找一个比较简单的工具&#xff0c;postman无法实现&#xff0c;外界的几乎找不到合适的工具&#xff0c;只能考虑手写一个。 前面写了一个python通过tcp协议发…

linux文件权限常用知识点,基于Linux(openEuler、CentOS8)

目录 知识点常用实例 知识点 真实环境文件显示 解读 常用实例 文件所有者 chown -R nginx:nginx /home/source目录权限(R选填必须大写<遍历子文件夹及文件>) chmod -R 755 /home/sourcechmod -R 777 /home/source

如何使用甘特图来做任务管理?zz-plan甘特图的实践指南

在项目管理和任务调度中&#xff0c;甘特图是一种非常实用的工具&#xff0c;它可以帮助团队成员清晰地规划、执行和跟踪项目进度。然而&#xff0c;如何有效利用甘特图进行任务管理&#xff0c;对于许多团队来说仍然是一个挑战。本文将结合 zz-plan https://zz-plan.com/ 甘特…

重学java 44.多线程 Lock锁的使用

昨日之深渊&#xff0c;今日之浅谈 —— 24.5.25 一、Lock对象的介绍和基本使用 1.概述 Lock是一个接口 2.实现类 ReentrantLock 3.方法 lock()获取锁 unlock()释放锁 4.Lock锁的使用 package S78Lock;import java.util.concurrent.locks.Lock; import java.util.concurrent.lo…

本地图片先压缩,再上传

本地图片先压缩&#xff0c;再上传 叠1压缩 folder_zip_cut1_demo.py import os import shutil import zipfile import datetime# 源目录 source_dir H:\\CCD叠一对齐度图片\\效果图\\ # 日志文件路径 log_file_path D:\\software\\dcs_log\\{}_folder_zip_cut1.log.forma…

【机器学习】大模型在机器学习中的应用:从深度学习到生成式人工智能的演进

&#x1f512;文章目录&#xff1a; &#x1f4a5;1.引言 ☔2.大模型概述 &#x1f6b2;3.大模型在深度学习中的应用 &#x1f6f4;4.大模型在生成式人工智能中的应用 &#x1f44a;5.大模型的挑战与未来展望 &#x1f4a5;1.引言 随着数据量的爆炸性增长和计算能力的提…

【C++】类与对象——多态详解

目录 一、多态的定义 二、重载、覆盖(重写)、隐藏(重定义)的对比 三、析构函数重写 四、C11 override 和 final 1. final 2. override 五、抽象类 六、多态的原理 一、多态的定义 多态是在不同继承关系的类对象&#xff0c;去调用同一函数&#xff0c;产生了不同的行为…

访存优化实践之一 : CPU、GPU、DDR与访存路径介绍

一、CPU的访存路径 上图是目前主流的CPU架构介绍。可以看到,CPU的访存路径:先经过MMU,然后经过Cache,最后到达DRAM。这其中涉及到的关键内容为基于MMU的内存管理以及缓存机制。 1.1、基于MMU的内存管理 众所周知,在计算机设计之处是没有虚拟地址的概念的,CPU发出的地址即…

centos7.9用docker运行一个nginx容器

首先你的linux 系统里面已经安装好了docker&#xff0c;docker的安装教程看这个 1&#xff0c;下载nginx镜像 有很多文章会把镜像下载说成是拉取镜像&#xff0c; 我觉得就是下载的意思啊&#xff0c;搞不懂为什么要说拉取&#xff1f; docker pull nginx 下载最新版 Nginx …

SpringBoot如何实现跨域?

定义一个配置类&#xff0c;实现WebMvcConfigurer接口&#xff0c;重写addCorsMappings方法 Configuration public class CorsConfig implements WebMvcConfigurer {Overridepublic void addCorsMappings(CorsRegistry registry) {registry.addMapping("/**").allow…

LeetCode刷题笔记第2769题:找到最大的可达成数字

LeetCode刷题笔记第2769题&#xff1a;找到最大的可达成数字 题目&#xff1a; 想法&#xff1a; 从题目中可以看出&#xff0c;num经过t次增减变为x&#xff0c;x即为可达成数字。因为要求最大的可达成数字&#xff0c;需要满足num一直增加&#xff0c;x一直减少&#xff0c…

Spring Boot: 为 JPA 插上翅膀的 QueryDSL

1. 引言 不可否认的是 JPA 使用是非常方便的&#xff0c;极简化的配置&#xff0c;只需要使用注解&#xff0c;无需任何 xml 的配置文件&#xff0c;语义简单易懂&#xff0c;但是&#xff0c;以上的一切都建立在单表查询的前提下的&#xff0c;我们可以使用 JPA 默认提供的方法…

力扣刷题笔记——Day1

二分查找 题目描述&#xff1a;给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。 eg1&#xff1a;输入: nums [-1,0,3,5…

蛮力法0/1背包问题实验

实验项目1 蛮力法 实验题目 使用蛮力法解决0/1背包问题。 ​ 问题描述&#xff1a;给定n个重量(weight)为{w1, w2, … ,wn}、价值(key)为{v1, v2, … ,vn}的物品和一个**容量为C(contain)**的背包&#xff0c;求这些物品中的一个最有价值的子集&#xff0c;且要能够装到背包中…

【简单介绍下链表基础知识】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

嵌入式linux系统中文件系统制作方法详解

第一:制作目的 1、掌握嵌入式Ubuntu系统的构建方法 2、熟悉嵌入式Ubuntu文件系统映射压缩打包方法 3、掌握RK3399linux系统单文件系统更新方法 Ubuntu根文件系统制作完成之后,把制作好的ubuntu文件系统映射文件在出厂系统的基础上替换原有的ubuntu根文件系统,即对 Linux 系统…