HDU1596 find the safest road---(最短路径dijkstra,#变形#)
http://acm.hdu.edu.cn/showproblem.php?pid=1596
分析:
题目要找一条安全度最高的路,安全度计算方法 Safe(P) = s(e1)*s(e2)…*s(ek) e1,e2,ek是P 上的边
在Dijkstra算法的基础上稍加改动
#include "cstdio"
#include "cstring"
#include "algorithm"
using namespace std;
#define inf 0x3f3f3f3f
#define MAX 1005
double map1[MAX][MAX],dis[MAX];
int vis[MAX];
///要找安全系数最高的路径
void dijkstra(int s,int n)
{
memset(vis,,sizeof(vis));
for(int i=;i<=n;i++)
dis[i]=map1[s][i];
dis[s]=;
vis[s]=;
double min1;
int pos;
for(int i=;i<n;i++)
{
min1=;
for(int j=;j<=n;j++)
{
if(!vis[j]&&min1<dis[j])///找最大dis
min1=dis[pos=j];
}
vis[pos]=;
for(int j=;j<=n;j++)
{
if(!vis[j]&&dis[j]<dis[pos]*map1[pos][j])///选取更大安全度
dis[j]=dis[pos]*map1[pos][j];
}
}
}
int main()
{
int n;
while(~scanf("%d",&n)&&n)
{
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
scanf("%lf",&map1[i][j]);
}
}
int q,s,e;
scanf("%d",&q);
for(int i=;i<q;i++)
{
scanf("%d%d",&s,&e);
dijkstra(s,n);
if(dis[e]==)///不能到达,即安全度为0
printf("What a pity!\n");
else
printf("%.3lf\n",dis[e]);
}
}
return ;
}
HDU1596 find the safest road---(最短路径dijkstra,#变形#)的更多相关文章
- HDU1596 find the safest road
find the safest road XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一 ...
- 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 (dijkstra)
Problem Description XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一条 ...
- hdu1596 find the safest road - floyd
2017-08-04 14:42:56 writer:pprp 题意: Problem Description XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每 ...
- HDOJ find the safest road 1596【最短路变形】
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- hdoj 1596 find the safest road【最短路变形,求最大安全系数】
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- NYOJ 1248 海岛争霸(Dijkstra变形——最短路径最大权值)
题目链接: http://acm.nyist.net/JudgeOnline/problem.php?pid=1248 描述 神秘的海洋,惊险的探险之路,打捞海底宝藏,激烈的海战,海盗劫富等等.加勒比 ...
- hdu1569find the safest road(floyd变形求最大安全值)
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- 杭电 1595 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 ...
随机推荐
- kettle 遇到 解决Incorrect integer value: '' for column 'id' at row 1 完美解决-费元星
最近自己在测试一个开源的程序,测试中发现.该程序都添加和更新的时候回出现 Incorrect integer value: '' for column 'id' at row 1类是的错误! 后来我自 ...
- Linux - 信息收集
1. #!,代表加载器(解释器)的路径,如: #!/bin/bash echo "Hello Boy!" 上面的意思是说,把下面的字符(#!/bin/bash以下的所有字符)统统传 ...
- windows 10 下的linux子系统用法 -- tmux分屏工具用法
1 激活linux子系统的方法见百度: 2 打开powershell,输入bash启动子系统终端:输入exit退出: 3 输入tmux attach连接会话:ctrl-b+d 返回终端:ctrl-b+ ...
- vue循环绑定v-model
直接上代码 结构: <repayInput v-if="formData" v-for="(item, index) in formData" :isPw ...
- Python 3基础教程18-获取用户键盘输入
有时候,我们需要获取用户的键盘输入的信息,然后得到信息,拿去做一些事情. 请看下面的demo.py # 练习如何通过键盘获取用户输入 x = input('What is your name?') p ...
- Selenium LoadableComponent加载组件
继承LoadableComponent类可以在打开地址时, 判断浏览器是否打开了预期的网址, 需要重写load()与isLoad()方法: 即使没有定义get()方法, 也可以进行get()方法的调用 ...
- zabbix从入门到精通
第1章 zabbix监控 1.1 为什么要监控 在需要的时刻,提前提醒我们服务器出问题了 当出问题之后,可以找到问题的根源 网站/服务器 的可用性 1.1.1 网站可用性 在软件系统的高可靠性(也 ...
- 怎么用Q-Q图验证数据集的分布
样本数据集在构建机器学习模型的过程中具有重要的作用,样本数据集包括训练集.验证集.测试集,其中训练集和验证集的作用是对学习模型进行参数择优,测试集是测试该模型的泛化能力. 正负样本数据集符合独立同分布 ...
- Python 3.6 爬取BD电影网
2018-07-10 #coding:utf-8 #coding:utf-8 from lxml import etree import requests import pandas import t ...
- Spark实战练习03--Pair RDD
一.场景 现有某网站的网站日志,内容为用户对网站的请求,包含user ID.IP address.datetime……等等 另有一份文件中包含用户的账户详细信息数据,包含User ID.creatio ...