博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
find the safest road HDU - 1596
阅读量:4360 次
发布时间:2019-06-07

本文共 1252 字,大约阅读时间需要 4 分钟。

Time limit

5000 ms
Memory limit
32768 kB

XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一条从u 到 v 的通道P 的安全度为Safe(P) = s(e1)*s(e2)…*s(ek) e1,e2,ek是P 上的边 ,现在8600 想出去旅游,面对这这么多的路,他想找一条最安全的路。但是8600 的数学不好,想请你帮忙 ^_^

Input

输入包括多个测试实例,每个实例包括:
第一行:n。n表示城市的个数n<=1000;
接着是一个n*n的矩阵表示两个城市之间的安全系数,(0可以理解为那两个城市之间没有直接的通道)
接着是Q个8600要旅游的路线,每行有两个数字,表示8600所在的城市和要去的城市

Output

如果86无法达到他的目的地,输出”What a pity!”,
其他的输出这两个城市之间的最安全道路的安全系数,保留三位小数。
Sample Input

31 0.5 0.50.5 1 0.40.5 0.4 131 22 31 3

Sample Output

0.5000.400

思路:

5s的时间还是比较好过的,直接Floyd就行。

代码:

#include 
#include
using namespace std;double map[1005][1005];void Build(int N){ for(int i=1 ; i<=N ; i++){ for(int j=1 ; j<=N ;j++){ for(int k=1 ; k<=N ; k++){ if(map[j][k]
>N){ for(int i=1 ; i<=N ; i++){ for(int j=1 ; j<=N ; j++){ scanf("%lf",&map[i][j]); } } Build(N); int M; cin>>M; while(M--){ int a,b; scanf("%d %d",&a,&b); if(map[a][b] == 0)printf("What a pity!\n"); else printf("%.3f\n",map[a][b]); } } return 0;}

转载于:https://www.cnblogs.com/vocaloid01/p/9514240.html

你可能感兴趣的文章
SAP 物料移动类型查询表
查看>>
$("#id").val()取值textarea是""
查看>>
有道云笔记 markdown 本地资源图片 粘贴到word居然粘贴不过去 资源名不能有汉子...
查看>>
[有问有答] 如何用 git 来管理你的打包工作
查看>>
Oracle表中的注释生成相应的SqlServer更改语句
查看>>
75个最佳Web设计资源
查看>>
6. ZigZag Conversion
查看>>
gvim 配置
查看>>
java动态代理
查看>>
Convolutional NN
查看>>
3.31下午
查看>>
spring框架学习(四)自动装配
查看>>
WebService的两种方式SOAP和REST比较
查看>>
史上最牛js
查看>>
线性代数-矩阵-【2】矩阵生成 C和C++实现
查看>>
12.29
查看>>
各层参数介绍,尤其数据层
查看>>
基、维数、子空间、维数下降
查看>>
第四篇 Entity Framework Plus 之 Batch Operations
查看>>
isalpha()方法
查看>>