当前位置: 首页 > news >正文

万盛经开区建设局官方网站好的网站首页建设公司

万盛经开区建设局官方网站,好的网站首页建设公司,营销客户管理软件,公司网站数媒设计制作【题目来源】http://oj.ecustacm.cn/problem.php?id1753http://oj.ecustacm.cn/viewnews.php?id1023【题目描述】 游泳池可以等分为n行n列的小区域,每个区域的温度不同。 小明现在在要从游泳池的左上角(1, 1)游到右下角(n, n),小明只能向上下左右四个方…

【题目来源】
http://oj.ecustacm.cn/problem.php?id=1753
http://oj.ecustacm.cn/viewnews.php?id=1023

【题目描述】
游泳池可以等分为n行n列的小区域,每个区域的温度不同。
小明现在在要从游泳池的左上角(1, 1)游到右下角(n, n),小明只能向上下左右四个方向游,不能游出泳池。
而小明对温度十分敏感,他希望你帮他找一条最舒适的路径,使路径上的
最高的水温和最低的水温差值最小。

【输入格式】
第一行输入一个正整数n。
接下来n行,每行n个正整数,表示方阵每个区域的温度a[i][j]。
所有数据保证随机。
(1≤n≤100,1≤a[i][j]≤1000)

【输入格式】
一行一个数表示最小差值。

【输入样例】
4
1 3 10 8
1 4 10 8
1 1 1 1
1 5 8 8

【输出样例】
7

【算法分析】
由于本题规定小明可以往上下左右四个方向游,也就是说可以走回头路,所以不能用动态规划。故依据本题题意,若要找一条最舒适的路径的话,就需要用搜索算法了。
但是,如果简单地遍历出所有路径,再比较得到温差最小路径,肯定超时,必须
剪枝才能减少路径的搜索数量。
如何剪枝?这是本题难点。因为,如果已知最小温差,只需一边游一边检查当前路径上的最大温差,如果已经超过了允许的最小温差,就不用走下去了。但是,
最小温差不能预知,只能猜。最好的方法是使用二分法来猜这个最小温差。本题的解法是“DFS+二分法”。 用“BFS+二分法”也行,请大家思考。

【算法代码】

#include<bits/stdc++.h>
using namespace std;const int TOP=1000;
const int maxn=105;
int a[maxn][maxn]; //temperature
bool st[maxn][maxn];
int n;
int dx[4]= {-1,0,1,0};
int dy[4]= {0,1,0,-1};void dfs(int x,int y,int maxt,int mint) {if(a[x][y]>maxt || a[x][y]<mint) return; //prunest[x][y]=true;for(int i=0; i<4; i++) {int nx=x+dx[i];int ny=y+dy[i];if(!st[nx][ny] && nx>=1 && nx<=n && ny>=1 && ny<=n)dfs(nx,ny,maxt,mint);}
}bool check(int x) {for(int i=1; i+x<=TOP; i++) {memset(st,0,sizeof(st));dfs(1,1,i+x,i);if(st[n][n]) return 1;}return 0;
}int main() {scanf("%d",&n);for(int i=1; i<=n; i++) {for(int j=1; j<=n; j++) {scanf("%d",&a[i][j]);}}int le=1,ri=TOP;while(le<=ri) {int mid=(le+ri)/2;if(check(mid)) ri=mid-1;else le=mid+1;}printf("%d",ri+1);return 0;
}/*
in:
4
1 3 10 8
1 4 10 8
1 1 1 1
1 5 8 8out:
7
*/





【参考文献】
https://blog.csdn.net/weixin_43914593/article/details/131912564


 

http://www.sczhlp.com/news/64823/

相关文章:

  • 建购物网站福州seo快速排名软件
  • 建设网站的意义 作用是什么意思企业概况的模板范文
  • 网站网页设计html广告优化师工资一般多少
  • 电影网站如何做不侵权山东省水利建设市场信用信息平台网站
  • 服务器上的网站怎么做301wordpress会员支付系统
  • 鲜花网站的数据库建设什么网站可以做医疗设备的
  • 什么网站可以做兼职赚钱吗新余做网站的公司
  • 东莞seo建站网站开发和网络设计有什么区别
  • 网站空间服务商wordpress怎么搜站点
  • 抄袭网站模板wordpress 仿简书模板
  • 一流的镇江网站优化网校
  • 成都定制网站设网站建设及网页设计
  • 优化网站排名公司旅游网站平台建设的方案
  • 网上建设银行网站做平台网站要多久
  • 网站开发参考文献2016网站虚拟机可以自己做吗
  • 网站页面的滑动怎么做的怎么在悉尼做网站
  • 网站建设自学wordpress主题免费共享
  • 怎么登录住房城乡建设部网站鞍山58同城招聘网
  • vps网站如何设置缓存怎么看网站用什么代码做的
  • 网站建设时间规划表ps软件下载电脑版教程
  • 商城网站建设公司报价怎么做有数据库的网站
  • 网站界面设计和ios移动界面设计的区别wordpress 白色主题
  • Tita 项目软件运营:开启企业数字化高效运营新纪元
  • Index of /ubuntu-cdimage/releases/25.10/
  • 手把手教你安装与配置 Corona Renderer 13
  • 网站的访问量统计怎么做刚成立的公司怎样做自己网站
  • 怎么制作网站下载软件com域名注册
  • 怎么做网站效果图桂林做手机网站
  • 网站301跳转有坏处吗南宁市网站
  • 正则化