http://xcacm.hfut.edu.cn/problem.php?id=1213

set + 搜索

姐姐是用搜索+二分做的,效率要高很多

#include<iostream>
#include<cstdio>
#include<cstring>
#include<set>
using namespace std;
int x[]={ , ,-, };
int y[]={ ,-, , };
int lable[][],d[][];
int T,m,n,p,q,deepth=,cake=;
void dfs(int a,int b)
{
if(d[a][b]>deepth||a<||a>=m||b<||b>=n||lable[a][b]==){return;}
lable[a][b]=;
cake++;
for(int i=;i<;i++)
{
if(a+x[i]<||a+x[i]>=m||b+y[i]<||b+y[i]>=n){continue;}
dfs(a+x[i],b+y[i]);
}
return;
}
void solve()
{
int i,j;
for(i=; i<m; i++)
{
if(lable[i][]==)
{
continue;
}
dfs(i,);
}
for(i=; i<m; i++)
{
if(lable[i][n-]==)
{
continue;
}
dfs(i,n-);
}
for(j=; j<n; j++)
{
if(lable[][j]==)
{
continue;
}
dfs(,j);
}
for(j=; j<n; j++)
{
if(lable[m-][j]==)
{
continue;
}
dfs(m-,j);
}
} int main()
{
int i,j;
scanf("%d",&T);
while(T--)
{
scanf("%d%d%d%d",&m,&n,&p,&q);
set<int>donser;
for(i=;i<m;i++)
{
for(j=;j<n;j++)
{
scanf("%d",&d[i][j]);
donser.insert(d[i][j]);
}
}
while()
{
deepth=*donser.begin();
solve();
donser.erase(deepth);
if(cake>=p&&cake<=q)
{
cout<<deepth<<endl;
cake=;
memset(lable,,sizeof(lable));
memset(d,,sizeof(d));
break;
}
if(donser.size()==||cake>q)
{
cout<<"-1"<<endl;
cake=;
memset(lable,,sizeof(lable));
memset(d,,sizeof(d));
break;
}
cake=;
memset(lable,,sizeof(lable));
}
}
return ;
}

2015安徽省赛 I.梯田的更多相关文章

  1. 2015安徽省赛 G.你来擒孟获

    http://xcacm.hfut.edu.cn/problem.php?id=1211 SPFA模板题目 最短路变种,从起点终点各找一次最短路相加 #include<iostream> ...

  2. 2015安徽省赛 H.数7

    http://xcacm.hfut.edu.cn/problem.php?id=1212 模拟大发 #include<iostream> #include<cstdio> #i ...

  3. 2015安徽省赛 J.镜像树

    http://xcacm.hfut.edu.cn/problem.php?id=1214 乱搞题 数组+结构体 递归遍历 #include<iostream> #include<cs ...

  4. 2015安徽省赛 F.多重部分和问题

    题目描述 有n种不同大小的数字,每种各个.判断是否可以从这些数字之中选出若干使它们的和恰好为K. 输入 首先是一个正整数T(1<=T<=100) 接下来是T组数据 每组数据第一行是一个正整 ...

  5. 2015安徽省赛 D.锐雯上单不给就送

    题目描述 <英雄联盟>(简称LOL)是由美国Riot Games开发,腾讯游戏运营的英雄对战网游.<英雄联盟>除了即时战略.团队作战外,还拥有特色的英雄.自动匹配的战网平台,包 ...

  6. 2015安徽省赛 C.LU的困惑

    题目描述 Master LU 非常喜欢数学,现在有个问题:在二维空间上一共有n个点,LU每连接两个点,就会确定一条直线,对应有一个斜率.现在LU把平面内所有点中任意两点连线,得到的斜率放入一个集合中( ...

  7. 2015安徽省赛 B.求和

    题目描述 对于正整数n,k,我们定义这样一个函数f,它满足如下规律 现在给出n和k,你的任务就是要计算f(n,k)的值. 输入 首先是一个整数T,表示有T组数据 接下来每组数据是n和k(1<=n ...

  8. 2015安徽省赛 A.First Blood

    题目描述 盖伦是个小学一年级的学生,在一次数学课的时候,老师给他们出了一个难题: 老师给了一个正整数 n,需要在不大于n的范围内选择三个正整数(可以是相同的),使它们三个的最小公倍数尽可能的大.盖伦很 ...

  9. NOI 2015 滞后赛解题报告

    报同步赛的时候出了些意外.于是仅仅能做一做"滞后赛"了2333 DAY1 T1离线+离散化搞,对于相等的部分直接并查集,不等部分查看是否在同一并查集中就可以,code: #incl ...

随机推荐

  1. Java数据结构——迭代器

  2. Linux学习笔记<三>

    <1>查看本机的IP地址 命令:ifconfig -a 机器的ip地址是:(inet 地址:172.16.163.57 ) <2>单独查看内存使用情况的命令:free -m 查 ...

  3. Mac OS下配置Eclipse C++的方法

    http://nonlz.blog.163.com/blog/static/128872032201262622921622/

  4. swiper 技巧

    全屏广告高度 ,加上属性. html, body { position: relative; height: 100%; } 停止自行播放 mySwiper.stopAutoplay(); 锁住状态, ...

  5. Cobbler自动化批量部署CentOS6.5系统

    Cobbler作为一个预备工具,使批量部署Red Hat/Centos/Fedora系统更容易,同时也支持Suse和Debian系统的部署. 它提供以下服务集成: * PXE服务支持 * DHCP服务 ...

  6. IIS站点无法访问..点浏览IIS窗口直接关掉

    呃..其实这个问题很简单.. 大家可以先看这位大婶写的博文.. http://blog.csdn.net/chenguang79/article/details/7220232 如果网站一访问IIS就 ...

  7. [IOC]Unity使用

    Unity是什么? unity是patterns&practices团队开发的一个轻量级.可扩展的依赖注入容器. Unity特性 1.它提供了创建(或者装配)对象实例的机制,而这些对象实例可能 ...

  8. MySql循环插入数据(定义了存储过程)

    MySQL一窍不通啊,今天工作上需要用到,请教了别人,做以备忘 DROP PROCEDURE test_insert ; DELIMITER ;; CREATE PROCEDURE test_inse ...

  9. jquery 中一些 特殊方法 的特殊使用 一览表

    cnblogs的页面, 一种是管理页面, 是随笔的列表 a full list of essays. 另一种是 首页. 要搜索文档的话, 就使用 "首页"的那种方式. 一个jque ...

  10. PHP中spl_autoload_register()函数

    spl_autoload_register — 注册给定的函数作为 __autoload 的实现 官方地址:http://php.net/manual/zh/function.spl-autoload ...