洛谷 P1767 家族_NOI导刊2010普及(10)

P1767 家族_NOI导刊2010普及(10)

题目描述

在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝,但同一个家族的人不一定有相同姓氏。现在给你岛上的地图,求出岛上有多少个不同的家族。岛上的地图有n行,每行有若干列,每个格子中要么是“ ”,表示大海,要么是“*”,表示河流或山丘,要么是小写字母,表示一户人家的姓氏。

输入输出格式

输入格式:

 

第一行是个数字N,表示下面信息的行数。接下来是N行字符,每行由小写字母和*号组成,有些行的最前面也可能包含若干连续的空格,表示这些区域是大海,每一行最多不超过200个字符。

 

输出格式:

 

一个数字,表示家族数。

 

输入输出样例

输入样例#1:
4
*zlw**pxh
l*zlwk*hx*
w*tyy**yyyzzl
输出样例#1:
3

说明

10%的数据,n≤1。 30%的数据,n≤10。 100%的数据,n≤100每一行最多不超过200个字符。

_NOI导刊2010普及(10)

思路:谔谔,大水题。

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int dx[4]={1,0,0,-1};
int dy[4]={0,1,-1,0};
char c[210],a[210];
int n,m,num,map[110][210],vis[110][210];
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&&!vis[cx][cy]&&!map[cx][cy]){vis[cx][cy]=1;dfs(cx,cy); }}
}
int main(){//freopen("family.in","r",stdin);//freopen("family.out","w",stdout);scanf("%d",&n);memset(map,-1,sizeof(map));gets(c);for(int i=1;i<=n;i++){gets(c);int len=strlen(c);for(int j=0;j<len;j++)if(c[j]>='a'&&c[j]<='z')    map[i][j+1]=0;m=max(len,m);}for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(!map[i][j]&&!vis[i][j]){num++;dfs(i,j);}cout<<num;
}

 

转载于:https://www.cnblogs.com/cangT-Tlan/p/7506065.html

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

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

相关文章

matlab设置图片背景透明_[转载]Matlab中得到透明背景图片的方法

MATLAB输出的矢量图往往不是透明背景的&#xff0c;这样插在其他文件中就会很难看。关于在MATLAB中如何得到透明背景的矢量图&#xff0c;我有个经验就是&#xff1a;用MATLAB导出pdf图形(而不是eps图形)&#xff0c;然后用Acrobat另存成eps图形&#xff0c;往往就是透明的了。…

宜春万申智能装备携粉体自动化产线解决方案盛装亮相2024济南生物发酵展

宜春万申智能装备股份有限公司受邀盛装亮相2024第12届济南国际生物发酵展 展位号&#xff1a;1号馆A16-2展位 2024第12届国际生物发酵产品与技术装备展览会&#xff08;济南&#xff09;于3月5-7日在山东国际会展中心盛大召开&#xff0c;全方面展示&#xff1a;生物发酵、生…

浙大绘制首个地球微生物“社会关系”网络

来源&#xff1a;浙江大学图片由课题组提供单个微生物看不见、摸不着&#xff0c;但却无时不在、无处不在。但微生物的功能绝非“分解者”这么简单&#xff0c;影响到温室气体的、绿色生产的、人体健康的方方面面&#xff0c;其群落组成和功能具有极高的复杂性。如何更好认识微…

原型链相关

1.创建对象有几种方法 // 第一种var object1 { name:fang};var object2 new Object({name: fang});console.log(object1, object2);  //Object {name: "fang"} Object {name: "fang"}// 第二种var M function(name){this.name name};var object3 ne…

甘特图制作_如何用Excel快速制作甘特图?(超详细!)

甘特图作为现代项目管理中一项重要的管理工具&#xff0c;它能够帮助你考虑资源、成本等项目中重要的元素&#xff0c;并且能够通过图形直观的观察到项目中所要完成的任务、开始与结束时间&#xff0c;每项任务所需时间&#xff0c;某项任务在某个时间段内完成等都能直观的呈现…

后MATLAB时代的七种开源替代,一种堪称完美!

来源&#xff1a;中国指挥与控制学会近日&#xff0c;有哈工大学生表示收到了正版软件取消激活的通知&#xff0c;而在与 MATLAB 开发公司 MathWorks 交涉之后&#xff0c;被告知由于美国政府实体名单的原因&#xff0c;相关授权已被中止。目前&#xff0c;哈尔滨工业大学、哈尔…

训练深度学习_深度学习训练tricks整理1

深度学习训练tricks整理1环境&#xff1a;pytorch1.4.0 Ubuntu16.04参考&#xff1a;数据增强策略&#xff08;一&#xff09;​mp.weixin.qq.comhttps://zhuanlan.zhihu.com/p/104992391​zhuanlan.zhihu.com深度神经网络模型训练中的 tricks&#xff08;原理与代码汇总&…

三个可能会被计算机视觉技术改变的行业

计算机视觉最主要的应用是面部识别&#xff0c;这种技术经常被用于安全和执法领域。但是&#xff0c;本文意在介绍一些计算机视觉技术不太明显的用途。来源丨Forbes作者丨Bernard Marr编译丨科技行者计算机视觉技术&#xff08;也被称为机器视觉&#xff09;允许机器以视觉方式…

查看本机的ip地址

ifconfig可以查看本机的ip地址&#xff1a;inet addr:10.108.104.185 转载于:https://www.cnblogs.com/ymjyqsx/p/7520070.html

java stream 多个filter_如何在Java Stream上应用多个过滤器?

我必须通过一个映射过滤一个对象集合&#xff0c;该映射包含对象字段名称和字段值的键值对。我试图通过stream()。filter()应用所有过滤器。对象实际上是JSON&#xff0c;因此Map保留了其变量的名称以及它们必须包含的值才能被接受&#xff0c;但是出于简单性的原因&#xff0c…

没有数学何来计算机:论计算机起源的数学思想

来源&#xff1a;无数学 无计算机人类的历史可以看做一部关于解放的历史。也有这样的说法&#xff0c;懒惰是人类进步的动力。为了偷懒&#xff0c;人类不断的做着各种努力&#xff0c;发明了各种机器工具&#xff0c;将自己从繁重的劳动解放出来&#xff0c;另一方面&#xf…

python和python stub文件类型的区别_python – 如何告诉mypy包含stubfile

我正在玩mypy(版本&#xff1a;0.630),我很难让它看到我的存根文件.谁能告诉我这里有什么问题&#xff1a;我的目录结构如下所示&#xff1a;├── caesar.py└── stubs└── caesar.pyicaesar.py包含一些有效的python代码. caesar.pyi包含单词bugger.我希望当我运行mypy时…

复杂控件

1.自定义标题栏 1.1引入布局 步骤&#xff1a; 1&#xff09;写好布局 2&#xff09;在activity布局里面直接引用该布局 核心代码&#xff1a; 注意&#xff1a;如何将系统自带的标题栏去掉&#xff1a; 方法一&#xff1a;&#xff08;不一定灵&#xff09; 方法二&#xff1a…

​Arm芯片的新革命在缓缓上演

来源&#xff1a;内容由半导体行业观察&#xff08;ID&#xff1a;icbank&#xff09;编译自「seekingalpha」&#xff0c;谢谢。因为苹果将发布使用其自研Arm芯片的Mac电脑&#xff0c;为此我认为基于ARM的芯片将蚕食 Intel和AMD的核心业务。这其实已经发生了&#xff0c;但是…

web移动端开发经验总结

整理web移动端开发经验&#xff0c;部分内容借鉴于网上的博文。 1、meta标签 <meta name"viewport" content"widthdevice-width,initial-scale1.0,maximum-scale1.0,user-scalable0;" /><!-- width可视宽度&#xff0c;initial-scale初始化缩放比…

追踪“MATLAB被禁”:我们如何做出卡别人脖子的软件?

作者 | 包云岗&#xff08;中国科学院计算技术研究所研究员&#xff09;编辑 | 宗华排版 | 华园导 读最近&#xff0c;哈工大、哈工程被禁用工科神器Matlab一事引发持续讨论。6月19日&#xff0c;中科院计算所研究员包云岗在微博上分享了他在“CCF YOCSEF杭州Matlab被禁之特别…

oracle 截取小数点_处理小数点位数的Oracle函数

Oracle函数可以实现许多的功能&#xff0c;下面为您介绍的Oracle函数用于处理小数点位数&#xff0c;如果您对Oracle函数数据库感兴趣的话&#xff0c;不妨一看。关于处理小数点位数的几个oracle函数()&#xff1a;1. 取四舍五入的几位小数select round(1.2345, 3) from dual;结…

拿下赌场新客户,但马斯克“超级隧道”何时才能颠覆地面交通?

来源&#xff1a;脑极体埃隆马斯克那家非常“Boring”的隧道公司&#xff0c;最近生意又热络了起来。据媒体报道&#xff0c;在5月份完成美国拉斯维加斯会议中心的两条地下隧道之后&#xff0c;埃隆马斯克的隧道公司&#xff08;Boring Company&#xff09;又接到了当地两家大型…

NOIP2016天天爱跑步 题解报告【lca+树上统计(桶)】

题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做《天天爱跑步》的游戏。天天爱跑步是一个养成类游戏,需要玩家每天按时上线,完成打卡任务。 这个游戏的地图可以看作一一棵包含 nn个结点和 n-1n−1条边的树, 每条边连接两个结点,且任意两个结点存在一条路径互相可达。树…

人工智能发展简史

文章来源&#xff1a;人工智能和大数据 &#xff08;ID&#xff1a;AIANDBIGDATA&#xff09;人工智能是在1956年作为一门新兴学科的名称正式提出的&#xff0c;自此之后&#xff0c;它已经取得了惊人的成就&#xff0c;获得了迅速的发展&#xff0c;它的发展历史&#xff0c;可…