HDU.1596 find the safest road (Floyd)
HDU.1596 find the safest road (Floyd)
题意分析
与普通的最短路不太相同,本题有些许的变化。
1. 要找到由i到j最安全的路,故在求解的时候要保证mp[i][j]尽量大,而不是尽量小。
2. 当mp[i][j] = 0的时候表示无法通过,而不是为无穷大的时候无法通过。
3. 路程求解过程中,安全系数是相乘的关系,不是按照普通路径的相加的关系。
4. 此题n^3的Floyd竟然能过,我惊了。
代码总览
#include <bits/stdc++.h>
#define nmax 1005
using namespace std;
const double eps = 1e-5;
double mp[nmax][nmax];
int n,m;
void floyd()
{
for(int k = 1; k<=n;++k){
for(int i =1 ;i<=n ;++i){
for(int j = 1; j<=n; ++j){
if(fabs(mp[i][k] - 0.0 ) <= eps || fabs(mp[k][j] - 0.0 ) <= eps )
continue;
else{
double temp = mp[i][k] * mp[k][j];
if(temp > mp[i][j]){
mp[i][j] = temp;
}
}
}
}
}
}
int main()
{
while(scanf("%d",&n) !=EOF){
memset(mp,0,sizeof(mp));
for(int i = 1; i<=n ;++i){
for(int j = 1; j<=n ;++j){
scanf("%lf",&mp[i][j]);
}
}
floyd();
scanf("%d",&m);
int sta, end;
for(int i = 0; i<m;++i){
scanf("%d %d",&sta,&end);
double temp = mp[sta][end];
if(fabs(temp - 0.0) <=eps)
printf("What a pity!\n");
else
printf("%.3f\n",temp);
}
}
return 0;
}
HDU.1596 find the safest road (Floyd)的更多相关文章
- HDU 1596 find the safest road (最短路)
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- hdu 1596 find the safest road (最短路径)
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- hdu 1596 find the safest road
http://acm.hdu.edu.cn/showproblem.php?pid=1596 #include <cstdio> #include <cstring> #inc ...
- hdu 1596 find the safest road(最短路,模版题)
题目 这是用Dijsktra做的,稍加改动就好,1000ms..好水.. #define _CRT_SECURE_NO_WARNINGS #include<string.h> #inclu ...
- hdu 1596 find the safest road (变形SP && dij+heap)
Problem - 1596 变形最短路问题,给出邻接矩阵,要求求出给定点对间安全率最大值. 这题可以用dijkstra+heap来做.对于每一个查询,做一次dij即可. 代码如下: #include ...
- HDU 1596 find the safest road(SPFA)
Problem Description XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一条 ...
- hdu 1596 find the safest road (dijkstra)
Problem Description XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一条 ...
- 杭电 1596 find the safest road (最短路)
http://acm.hdu.edu.cn/showproblem.php?pid=1596 这道题目与杭电2544最短路的思想是一样的.仅仅只是是把+改成了*,输入输出有些不一样而已. find t ...
- hdu1569find the safest road(floyd变形求最大安全值)
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
随机推荐
- iTextSharp动态生成多页pdf及追加内容等记录
1.要动态生成pdf,无非是用第三方或直接代码生成. 2.iTextSharp生成pdf问题点记录 dll相关下载 https://files.cnblogs.com/files/xlgwr/iTex ...
- mysql bin log配置及查看
mysql执行sql可以通过设置mysql bin 日志进行记录查看 mysql bin日志配置如下: log_bin:on log_bin_basename:bin文件路径及名前缀(/var ...
- 【system.folder】使用说明
对象:system.folder 说明:提供一系列针对文件夹的操作 目录: 方法 返回 说明 system.folder.exists(folderPath) [True | False] 检测指定文 ...
- [Clr via C#读书笔记]Cp8方法
Cp8方法 构造器 作用就是初始化所有成员字段:.ctor:派生类和基类都有自己的构造函数.默认有一个无参数的构造函数,值字段初始化为0,引用字段初始化为null:可以有多个构造器: 值类型的初始化其 ...
- 测试模拟 白屏 / FOUC
白屏和FOUC 白屏与无样式内容闪烁(FOUC)是因为不同浏览器加载与显示页面的机制不同而造成的. 我们可以通过一个实验来进行测试和模拟白屏.FOUC的现象,让我们更好的理解白屏.FOUC. 测试de ...
- poj 2155 (二维树状数组 区间修改 求某点值)
Matrix Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 33682 Accepted: 12194 Descript ...
- Python实现个性化推荐二
基于内容的推荐引擎是怎么工作的 基于内容的推荐系统,正如你的朋友和同事预期的那样,会考虑商品的实际属性,比如商品描述,商品名,价格等等.如果你以前从没接触过推荐系统,然后现在有人拿枪指着你的头,强迫你 ...
- Mysql-表和字段操作
1.查看表 show tables; 2.创建表 create table test( id int primary key auto_increment, name varchar(40) not ...
- Python3 集合
1.集合的表示 集合是一个无序不重复的元素序列 创建空集合 set() 2.集合的运算 a={1,2,3} b={2,3,4} print(a-b) #a中包含b中不包含 print(a|b) #a中 ...
- canvas学习(四):高级属性
一:阴影 示例:绘制一个带有阴影的正方形 var canvas = document.getElementById("myCanvas") var ctx = canvas.get ...