洛谷 P1767 家族_NOI导刊2010普及(10)
题目描述
在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝,但同一个家族的人不一定有相同姓氏。现在给你岛上的地图,求出岛上有多少个不同的家族。岛上的地图有n行,每行有若干列,每个格子中要么是“ ”,表示大海,要么是“*”,表示河流或山丘,要么是小写字母,表示一户人家的姓氏。
输入输出格式
输入格式:
第一行是个数字N,表示下面信息的行数。接下来是N行字符,每行由小写字母和*号组成,有些行的最前面也可能包含若干连续的空格,表示这些区域是大海,每一行最多不超过200个字符。
输出格式:
一个数字,表示家族数。
输入输出样例
- 4
- *zlw**pxh
- l*zlwk*hx*
- w*tyy**yyy
- zzl
- 3
说明
10%的数据,n≤1。 30%的数据,n≤10。 100%的数据,n≤100每一行最多不超过200个字符。
_NOI导刊2010普及(10)
题目大意:同细胞个数
题解:可恶的字符串输入,毁我青春浪费我时间...
scanf("%d\n",**)不对,scanf("%d",&x);getline(cin,s);A了。
debug时怀疑人生。
代码:
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- using namespace std;
- int n,ans,map[][];
- int mx[]={,,-,},
- my[]={-,,,};
- string s;
- void dfs(int x,int y){
- for(int i=;i<;i++){
- int xx=x+mx[i],yy=y+my[i];
- if(map[xx][yy]==||xx<||yy<||yy>map[xx][]||xx>n)continue;
- map[xx][yy]=;
- dfs(xx,yy);
- }
- }
- int main(){
- scanf("%d",&n);getline(cin,s);
- for(int i=;i<=n;i++){
- getline(cin,s);
- map[i][]=s.length();
- for(int j=;j<=map[i][];j++){
- if(s[j-]>='a'&&s[j-]<='z')
- map[i][j]=;
- }
- }
- for(int i=;i<=n;i++){
- for(int j=;j<=map[i][];j++){
- if(map[i][j]){
- map[i][j]=;ans++;
- dfs(i,j);
- }
- }
- }
- cout<<ans<<endl;
- return ;
- }
洛谷 P1767 家族_NOI导刊2010普及(10)的更多相关文章
- 洛谷——P1767 家族_NOI导刊2010普及(10)
P1767 家族_NOI导刊2010普及(10) 题目描述 在一个与世隔绝的岛屿上,有一个有趣的现象:同一个家族的人家总是相邻的(这里的相邻是指东南西北四个方向),不同的家族之间总会有河流或是山丘隔绝 ...
- 洛谷 P1765 手机_NOI导刊2010普及(10)
题目描述 一般的手机的键盘是这样的: 1 2 abc 3 def 4 ghi 5 jkl 6 mno 7 pqrs 8 tuv 9 wxyz * 0 # 要按出英文字母就必须要按数字键多下.例如要按出 ...
- 洛谷—— P1765 手机_NOI导刊2010普及(10)
https://www.luogu.org/problem/show?pid=1765#sub 题目描述 一般的手机的键盘是这样的: 1 2 abc 3 def 4 ghi 5 jkl 6 mno 7 ...
- 洛谷P1765 手机_NOI导刊2010普及(10) 关于cin和getline的一些区别 以及一些STL
一. cin>>s:cin>>是由两部分构成的,cin和>>,其中cin是输入流istream类的一个对象,隶属于iostream函数库而>>则是运算符 ...
- 洛谷 P1777 帮助_NOI导刊2010提高(03) 解题报告
P1777 帮助_NOI导刊2010提高(03) 题目描述 Bubu的书架乱成一团了!帮他一下吧! 他的书架上一共有n本书.我们定义混乱值是连续相同高度书本的段数.例如,如果书的高度是30,30,31 ...
- 洛谷 P1769 淘汰赛制_NOI导刊2010提高(01)
P1769 淘汰赛制_NOI导刊2010提高(01) 题目描述 淘汰赛制是一种极其残酷的比赛制度.2n名选手分别标号1,2,3,…,2^n-1,2^n,他们将要参加n轮的激烈角逐.每一轮中,将所有参加 ...
- 洛谷 P1801 黑匣子_NOI导刊2010提高(06)(未完)
P1801 黑匣子_NOI导刊2010提高(06) 题目描述 Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个 ...
- [洛谷P1801]黑匣子_NOI导刊2010提高(06)
题目大意:两个操作:向一个可重集中加入一个元素:询问第$k$大的数($k$为之前询问的个数加一) 题解:离散化,权值线段树直接查询 卡点:无 C++ Code: #include <cstdio ...
- 洛谷 P1801 黑匣子_NOI导刊2010提高(06)
题目描述 Black Box是一种原始的数据库.它可以储存一个整数数组,还有一个特别的变量i.最开始的时候Black Box是空的.而i等于0.这个Black Box要处理一串命令. 命令只有两种: ...
随机推荐
- 【BZOJ3143】[Hnoi2013]游走 期望DP+高斯消元
[BZOJ3143][Hnoi2013]游走 Description 一个无向连通图,顶点从1编号到N,边从1编号到M. 小Z在该图上进行随机游走,初始时小Z在1号顶点,每一步小Z以相等的概率随机选 ...
- Dire Wolf(区间DP)
Dire Wolf Time Limit: 5000/5000 MS (Java/Others) Memory Limit: 512000/512000 K (Java/Others)Total ...
- vue router-link子级返回父级页面
vue-router嵌套路由,从二级路由跳转到一级路由时,间歇性导致一级路由重叠 解决方法: 1.使用this.$router.push跳转
- 第一课 第一个nodejs程序
这就是我们的第一个程序了 在控制台会输出:hello 我们需要运行该文件 开始->运行 cmd 进入我们的程序目录 我的是D:/nodejs/hello.js 进入程序目录cd D:/nodej ...
- zookeepeer ID生成器 (一)
目录 写在前面 1.1. ZK 的分布式命名服务 1.1.1. 分布式 ID 生成器的类型 UUID方案 1.1.2. ZK生成分布式ID 写在最后 疯狂创客圈 亿级流量 高并发IM 实战 系列 疯狂 ...
- flex (html弹性布局)
flex是什么? 任何容器都可以指定为flex布局: .box{ display: flex; /* 行内元素可以使用:inline-flex,webket内核浏览器必须 -webkit-flex ...
- Django继承HTML模板
Django在渲染模板的过程中可以实现模板样式的继承,以减少重复的代码 1.extend继承 模板.html: 模板内容 {{% block name1 %}} {{% enfblock %}} #n ...
- windows下php升级到7.2
1: 官网下载:https://windows.php.net/download#php-7.2
- QT设置TextEdit颜色
//设置textEdit颜色 QPalette palette= ui->receiveTextEdit->palette(); palette.setColor(QPalette::Ba ...
- ICCV 2015 B-CNN细粒度分类
哈哈,好久没写博客了....最近懒癌发作~~主要是因为心情不太好啊,做什么事情都不太顺心,不过已经过去啦.最近一直忙着公司的项目,想用这个网络,就给大家带来了的这篇文章.可能比较老,来自ICCV 20 ...