题解:

简单灌水

从最高的开始

代码:

#include<bits/stdc++.h>
const int inf=0x7fffffff,N=;
typedef long long ll;
using namespace std;
int n,m,cnt,ans,xx[]={,,,,,-,-,-},yy[]={,-,,,-,,,-},mp[N][N],mark[N][N];
struct data{int x,y,t;}a[];
bool operator<(data a,data b){return a.t>b.t;}
void dfs(int x,int y)
{
mark[x][y]=;
for (int i=;i<;i++)
{
int nowx=x+xx[i],nowy=y+yy[i];
if (nowx<||nowy<||nowx>n||nowy>m)continue;
if (mp[nowx][nowy]<=mp[x][y]&&!mark[nowx][nowy])dfs(nowx,nowy);
}
}
int main()
{
scanf("%d%d",&n,&m);
for (int i=;i<=n;i++)
for (int j=;j<=m;j++)
{
cnt++;
scanf("%d",&mp[i][j]);
a[cnt].x=i;a[cnt].y=j;a[cnt].t=mp[i][j];
}
sort(a+,a+cnt+);
for (int i=;i<=cnt;i++)
if (!mark[a[i].x][a[i].y]){dfs(a[i].x,a[i].y);ans++;}
printf("%d",ans);
return ;
}

bzoj1619的更多相关文章

  1. bzoj1619[Usaco2008 Nov]Guarding the Farm 保卫牧场

    Description The farm has many hills upon which Farmer John would like to place guards to ensure the ...

  2. bzoj1619 / P2919 [USACO08NOV]守护农场Guarding the Farm

    P2919 [USACO08NOV]守护农场Guarding the Farm 相似题:P3456 [POI2007]GRZ-Ridges and Valleys 按海拔是否相同分块 每次bfs海拔相 ...

  3. BZOJ第7页养成计划

    嗯,用这篇博客当一个目录,方便自己和学弟(妹?)们查阅.不定期更新. BZOJ1600   BZOJ1601   BZOJ1602   BZOJ1603   BZOJ1604   BZOJ1605   ...

  4. [转载]hzwer的bzoj题单

    counter: 664BZOJ1601 BZOJ1003 BZOJ1002 BZOJ1192 BZOJ1303 BZOJ1270 BZOJ3039 BZOJ1191 BZOJ1059 BZOJ120 ...

  5. BZOJ刷题列表【转载于hzwer】

    沿着黄学长的步伐~~ 红色为已刷,黑色为未刷,看我多久能搞完吧... Update on 7.26 :之前咕了好久...(足见博主的flag是多么emmm......)这几天开始会抽时间刷的,每天几道 ...

随机推荐

  1. Python3基础 type 获得变量的类型

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  2. idea oracle反向工程生成实体类

    1. 选择View-Tool Window- Database 2. 配置数据库信息 提示:配置完成后可以通过idea进行sql查询等操作 3.在项目中创建hbernate.cfg.xml文件, 在r ...

  3. spring boot 捕获filter异常 统一返回处理结果

    如前面的文章所述,controller中抛出的异常我们使用ControllerAdvice来处理: @RestControllerAdvice @Slf4j public class GlobalEx ...

  4. hdu 5671 Matrix 标记。。。有点晕

    Matrix Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Problem ...

  5. c++ 容器元素遍历打印(for_each)

    #include <iostream> // cout #include <algorithm> // for_each #include <vector> // ...

  6. c++ 容器元素填充(fill)

    #include <iostream> // cout #include <algorithm> // fill #include <vector> // vect ...

  7. GRASP (职责分配原则)

    要学习设计模式,有些基础知识是我们必须要先知道的,设计模式是关于类和对象的一种高效.灵活的使用方式,也就是说,必须先有类和对象,才能有设计模式的用武之地,否则一切都是空谈,那么类和对象是从那冒出来的呢 ...

  8. 一个十分好用的动画工具:Velocity.js

    就像许多开发者确信的那样,在Web上使用CSS实现动画并不是唯一的方式,我们也可以使用JS来实现,并且JS还有一些CSS无法替代的优势. 然而抛开JS而选择CSS来实现动画,将以样式表内容膨胀,丧失对 ...

  9. Codeforces 766C - Mahmoud and a Message

    C. Mahmoud and a Message time limit per test 2 seconds memory limit per test 256 megabytes input sta ...

  10. js 数组的删除

    var test=[1,2,1,2,3,4,5,6,7]; 1.remove test.remove(1)     位置 test.remove(-2) test.remove(2,3) 2 dele ...