bzoj1102: [POI2007]山峰和山谷Grz
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#define maxn 1005
using namespace std; int n,sumx,sumy,ansx,ansy,hi[maxn][maxn],list[maxn*maxn][],head,tail;
bool vis[maxn][maxn];
const int dx[]={-,,,-,,-,,};
const int dy[]={-,-,-,,,,,};
void init(int x){
for (int i=;i<=x;i++){
for (int j=;j<=x;j++){
scanf("%d",&hi[i][j]);
}
}
}
void bfs(int x,int y){
int a,b,c,d;
head=,tail=,list[tail][]=x,list[tail][]=y; sumx=sumy=,vis[x][y]=;
while (head<tail){
++head,a=list[head][],b=list[head][];
for (int i=;i<;i++){
c=a+dx[i],d=b+dy[i];
if (c>=&&c<=n&&d>=&&d<=n){
if (hi[c][d]==hi[a][b]&&!vis[c][d]){
vis[c][d]=;
list[++tail][]=c,list[tail][]=d;
}else{
if (hi[c][d]>hi[a][b]) sumx++;
if (hi[c][d]<hi[a][b]) sumy++;
}
}
}
}
// printf("%d %d %d %d\n",x,y,sumx,sumy);
if (sumx==&&sumy==) ansx++,ansy++;
else if (sumx>&&sumy>) return;
else if (sumx>) ansy++;
else ansx++;
}
int main(){
scanf("%d",&n);
init(n);
memset(vis,,sizeof(vis));
ansx=ansy=;
for (int i=;i<=n;i++){
for (int j=;j<=n;j++){
if (vis[i][j]==) continue;
bfs(i,j);
}
}
printf("%d %d\n",ansx,ansy);
return ;
}
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1102
做法:为noip做准备。bfs即可。
bzoj1102: [POI2007]山峰和山谷Grz的更多相关文章
- [POI2007]山峰和山谷Grz
Description FGD小朋友特别喜欢爬山,在爬山的时候他就在研究山峰和山谷.为了能够让他对他的旅程有一个安排,他想知道山峰和山谷的数量.给定一个地图,为FGD想要旅行的区域,地图被分为\(n\ ...
- 【bfs】BZOJ1102- [POI2007]山峰和山谷Grz
最后刷个水,睡觉去.Bless All! [题目大意] 给定一个地图,为FGD想要旅行的区域,地图被分为n*n的网格,每个格子(i,j) 的高度w(i,j)是给定的.若两个格子有公共顶点,那么他们就是 ...
- BZOJ1102 [POI2007]GRZ山峰和山谷 [BFS]
题目传送门 GRZ山峰和山谷 Description FGD小朋友特别喜欢爬山,在爬山的时候他就在研究山峰和山谷.为了能够让他对他的旅程有一个安排,他想知道山峰和山谷的数量.给定一个地图,为FGD想要 ...
- 【POI 2007】 山峰和山谷
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1102 [算法] 广度优先搜索 [代码] #include<bits/stdc+ ...
- 山峰和山谷 Ridges and Valleys
题目描述 思路 一开始看这道题目,也不是很会,谁会把统计之类的问题和bfs联系在一起,没有开始的状态,没有结束的状态,题目中连一个最短之类的词也没有出现. 然后统计嘛,题目中说了方格高度都相同,就把周 ...
- POI刷题记录
POI2007 HNOI2018滚粗后,默默来刷POI 先从2007刷起 bzoj1103[POI2007]大都市meg bzoj1098[POI2007]办公楼biu bzoj1102[POI200 ...
- [原博客] POI系列(2)
正规.严谨.精妙. -POI bzoj 1098 : [POI2007]办公楼biu 如果把互相有手机号的建边得到一个无向图,那么这个图的补图的连通分量个数就是答案了.因为互相没手机号的必然在同一个连 ...
- bzoj AC倒序
Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...
- P3456 [POI2007]GRZ-Ridges and Valleys(bfs)
P3456 [POI2007]GRZ-Ridges and Valleys 八个方向都跑一遍bfs,顺便判断一下是山峰还是山谷,或者是山坡(俩都不是) (实在不知道要说啥了qwq) #include& ...
随机推荐
- MVC控制器总结
1.特性 [AuthorizeFilter] 用于权限过滤 [HttpGet] [HttpPost] 2.参数 获取方法 public ActionResult void Get(int id){} ...
- BZOJ 1040 【ZJOI2008】 骑士
Description Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬.最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火 ...
- zabbix常用术语
zabbix常用术语
- gradient 线性渐变 浏览器兼容
filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr=white, endColorstr= ...
- HDU2255-奔小康赚大钱-二分图最大权值匹配-KM算法
二分图最大权值匹配问题.用KM算法. 最小权值的时候把权值设置成相反数 /*-------------------------------------------------------------- ...
- 分布式拒绝服务攻击 DDoS
分布式拒绝服务(DDoS:Distributed Denial of Service)攻击指借助于客户/服务器技术,将多个计算机联合起来作为攻击平台,对一个或多个目标发动DDoS攻击,从而成倍地提高拒 ...
- 服务端JavaScript之Rhino
最近在看js的书,书上有介绍两个服务端js,以前只听说过node.js,第一次听说Rhino.js,并且已经集成到了jdk1.6;看来还是见的少啊! Rhino是一种用Java编写的javaScrip ...
- Linux企业集群用商用硬件和免费软件构建高可用集群PDF
Linux企业集群:用商用硬件和免费软件构建高可用集群 目录: 译者序致谢前言绪论第一部分 集群资源 第1章 启动服务 第2章 处理数据包 第3章 编译内容 第二部分 高可用性 第4章 使用rsync ...
- python学习笔记整理——dictView [未整理]
Dictionary view objects简介 The objects returned by dict.viewkeys(), dict.viewvalues() and dict.viewit ...
- redis HA高可用方案Sentinel和shard
1.搭建redis-master.redis-slave以及seninel哨兵监控 在最小配置:master.slave各一个节点的情况下,不管是master还是slave down掉一个,“完整的” ...