vijos P1051 送给圣诞夜的极光
调了好久。。。
#include <cstdio>
#include <queue>
using namespace std; char a[110*110];
/**************************************
000000000000
000000000000
00----####00
00###----#00 //like dis
00##--##--00
000000000000
000000000000
**************************************/
int visited[110*110];
int cnt;
int of1x[] = {-1, 0, 1, 0};
int of1y[] = {0, -1, 0, 1};
int of2x[] = {0, 1, 2, 1, 0, -1, -2, -1};
int of2y[] = {2, 1, 0, -1, -2, -1, 0, 1}; int main(){
int m, n;
scanf("%d%d", &m, &n);
getchar(); for(int i = 2; i < m+2; ++i){
for(int j = 2; j < n+2; ++j){
a[i*(n+4)+j] = getchar();
}
getchar();
} n = n+4;
queue<int> Q;
for(int i = 0; i < (m+4)*n-1; ++i){
if(!visited[i] && a[i] == '#'){
int now = i;
visited[now] = 2;
cnt++;
Q.push(now); do{
//搜索附近
now = Q.front();
Q.pop(); int x = now%n;
int y = now/n; if(visited[now] == 2){ //now是第二圈
for(int ii = 0; ii < 4; ++ii){
int pos = (y+of1y[ii])*n + (x+of1x[ii]);
if(!visited[pos] && a[pos] == '#'){
visited[pos] = 1;
Q.push(pos);
}
}
} for(int ii = 0; ii < 8; ++ii){
int pos = (y+of2y[ii])*n + (x+of2x[ii]);
if(!visited[pos] && a[pos] == '#'){
visited[pos] = 2;
Q.push(pos);
}
}
}while(!Q.empty());
}
} printf("%d", cnt);
return 0;
}
vijos P1051 送给圣诞夜的极光的更多相关文章
- 【宽搜】Vijos P1051 送给圣诞夜的极光
题目链接: https://vijos.org/p/1051 题目大意: 给一张‘-’和‘#’的图,规定曼哈顿距离小于等于2的‘#’属于同一图案,求图案数.[曼哈顿距离:对于A(x1,y1)和B(x2 ...
- [vijos]1051送给圣诞夜的极光<BFS>
送给圣诞夜的极光 题目链接:https://www.vijos.org/p/1051 这是一道很水很水的宽搜水题,我主要是觉得自己在搜素这一块有点生疏于是随便找了一题练手,找到这么一道水题,原本以为可 ...
- Codevs 1293 送给圣诞夜的极光
1293 送给圣诞夜的极光 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description 圣诞老人回到了北极圣 ...
- codevs1293送给圣诞夜的极光(bfs)
1293 送给圣诞夜的极光 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 圣诞老人回到了北极圣诞区,已经快到12点了 ...
- Vijos1051. 送给圣诞夜的极光
试题请參见: https://vijos.org/p/1051 题目概述 圣诞老人回到了北极圣诞区, 已经快到12点了. 也就是说极光表演要開始了. 这里的极光不是极地特有的自然极光景象. 而是圣诞老 ...
- 洛谷 P1454 圣诞夜的极光 == codevs 1293 送给圣诞夜的极光
题目背景 圣诞夜系列~~ 题目描述 圣诞老人回到了北极圣诞区,已经快到12点了.也就是说极光表演要开始了.这里的极光不是极地特有的自然极光景象.而是圣诞老人主持的人造极光. 轰隆隆……烟花响起(来自中 ...
- vijos 1047 送给圣诞夜的礼品 矩阵
题目链接 描述 当小精灵们把贺卡都书写好了之后.礼品准备部的小精灵们已经把所有的礼品都制作好了.可是由于精神消耗的缘故,他们所做的礼品的质量越来越小,也就是说越来越不让圣诞老人很满意.可是这又是没有办 ...
- P1049送给圣诞夜的礼品(矩阵十大问题之四)
https://vijos.org/p/1049 P1049送给圣诞夜的礼品 Accepted 标签:组合数学送给圣诞夜的礼物[显示标签] 返回代码界面 | 关闭 Pascal Pasca ...
- vijosP1049 送给圣诞夜的礼品
vijosP1049 送给圣诞夜的礼品 链接:https://vijos.org/p/1049 [思路] 快速幂+矩阵转换. 将m次矩阵的转换看作是一次快速幂中的乘法操作,这样可以用O(log(k/m ...
随机推荐
- 为 Ubuntu/Anaconda/pip 添加国内下载源
背景 正在看 tensorflow-lite 压缩模型的部分,结果 tutorial 一上来就要卸旧版安装 tf-nightly (新版?反正小白下就vans了) 然而好不容易才编译好源码舍不得删.又 ...
- redis的认识
<?php /* Redis优势: 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s . 丰富的数据类型 – Redis支持二进制案例的 String, Lis ...
- 【解决】Node JS Error: ENOENT
The Node Beginner Book 书中的实例代码当上传图片时会报Error: ENOENT, 原因:图片默认会选择系统的缓存文件夹下,在windows下无权访问C盘,所以就报错了.. 解决 ...
- windows2008 R2 系统 安装wampserver提示“缺少msvcr110.dll文件”处理办法
windows2008 R2 系统 安装wampserver提示“缺少msvcr110.dll文件”处理办法 原因分析: 因缺少Visual C++ Redistributable for Visua ...
- springmvc项目搭建五-postgresql+easyui的数据显示
上一篇虽然完成了页面的显示,但是是假数据,本篇添加了postgresql的数据库,将登陆的校验和数据的显示都通过数据库来完成. 我是在本地搭建了一个postgre的数据库,就先新建两张表吧,一个用于用 ...
- homework for Java
public class Dog { private String name; private String color; private int age; public Dog(String nam ...
- 【EasyNetQ】- 多态发布和订阅
您可以订阅接口,然后发布该接口的实现. 我们来看一个例子.我有一个接口IAnimal和两个实现Cat和Dog: public interface IAnimal { string Name { get ...
- mysql类型与java类型对应异常场景
MySQL的bigint unsigned类型,对应java的BigInteger类型,在基于mybatis框架时,如果我将bigint unsigned类型的字段的返回放在一个map的返回类型中时. ...
- Java IO 小结
Java IO 的学习需要明白流设计的体系结构,这样才能在实际需要的时候,通过API文档查阅,快速实现功能.
- [洛谷P2986][USACO10MAR]伟大的奶牛聚集Great Cow Gat…
题目大意:给你一棵树,每个点有点权,边有边权,求一个点,使得其他所有点到这个点的距离和最短,输出这个距离 题解:树形$DP$,思路清晰,转移显然 卡点:无 C++ Code: #include < ...