HDU1596find the safest road(floyd)
题目链接
find the safest road
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 14712 Accepted Submission(s): 5154
第一行:n。n表示城市的个数n<=1000;
接着是一个n*n的矩阵表示两个城市之间的安全系数,(0可以理解为那两个城市之间没有直接的通道)
接着是Q个8600要旅游的路线,每行有两个数字,表示8600所在的城市和要去的城市
其他的输出这两个城市之间的最安全道路的安全系数,保留三位小数。
解题思路 :由于输入时有矩阵出现,果断floyd直接就出答案。
源代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#define N 1005
int n;
double pet[N][N];
void floyd()///三重for循环暴力找找最短路。
{for(int k=0;k<n;k++)///中点for(int i=0;i<n;i++)///起始点for(int j=0;j<n;j++)///终点{if(pet[i][j]<pet[i][k]*pet[k][j]){pet[i][j]=pet[i][k]*pet[k][j];}}
}
int main()
{while(scanf("%d",&n)!=EOF){for(int i=0;i<n;i++)for(int j=0;j<n;j++)scanf("%lf",&pet[i][j]);floyd();int t,a,b;scanf("%d",&t);for(int i=0;i<t;i++){scanf("%d%d",&a,&b);if(!pet[a-1][b-1])printf("What a pity!\n");elseprintf("%.3lf\n",pet[a-1][b-1]);}}return 0;
}
HDU1596find the safest road(floyd)相关推荐
- 杭电1596find the safest road(spfa)
find the safest road Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Ot ...
- Find the safest road(HDU-1596)
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),一条 ...
- 弗洛伊德算法(Floyd)简介
弗洛伊德算法(Floyd)简介 Floyd算法适用于解决求最短路径问题,相比于Digkstra算法思路更加简单,更容易理解,但是效率会明显低很多,可以作为初步学习的一种方法. 目录 弗洛伊德算法(Fl ...
- 【算法】弗洛伊德(Floyd)算法
这个算法主要要弄懂三个循环的顺序关系. 弗洛伊德(Floyd)算法过程: 1.用D[v][w]记录每一对顶点的最短距离. 2.依次扫描每一个点,并以其为基点再遍历所有每一对顶点D[][]的值,看看是否 ...
- 七、最短路径——弗洛伊德(Floyd)算法
为了能讲明白弗洛伊德(Floyd)算法的精妙所在,我们先来看最简单的案例.下图是一个最简单的3个顶点连通网图. 我们先定义两个二维数组D[3][3]和P[3][3],D代表顶点到顶点的最短路径权值和的 ...
- 【数据结构】图—弗洛伊德(Floyd)算法
前言 上文介绍了迪杰斯特拉(Dijkstra)算法,计算网图的某个源点到其余各个顶点的最短路径问题(边权值为非负值),本文介绍另一个求最短路径的算法--弗洛伊德算法,它是计算所有顶点到所有顶点的最短路 ...
- 弗洛伊德(Floyd)算法之两点之间的最短距离问题
1.概述 (1)与迪杰斯特拉(Dijkstra)算法一样,弗洛伊德(Floyd)算法也是一种用于寻找给定的加权图中顶点间最短路径的算法,该算法 名称以创始人之一.1978 年图灵奖获得者.斯坦福大学计 ...
- 最短路径之弗洛伊德算法(Floyd)——动态规划
弗洛伊德算法(Floyd)主要针对多源最短路径,且可以解决路径中有负权的情况(不包含负权回路),但是迪杰斯特拉算法只能解决正权值的单源最短路径(可以迭代多次求多源). 1.弗洛伊德算法的基本思想 弗洛 ...
最新文章
- Chromebook开发者模式Linux,Chromebook 的开发者模式和开发者版本有什么区别?
- 这4种钱没有也要借,不能等
- .NET开发过程中的全文索引使用技巧之Solr
- 设置行间距_word打印技巧:几个节省纸张的打印设置方法
- spl_autoload_register函数
- 【架构】研究谷歌和亚马逊的微服务案例,我们能学习到的经验
- java jlist组件_Java中Jlist的Swing组件
- 今天向你们分享一个表白代码(I LOVE YOU)
- LM2596电源降压调整器(150KHz,3A)020
- matlab试算求解二元二次方程,matlab 求一个二元二次方程组的解
- 视觉组学习内容:Zhang-Suen骨架提取算法
- 前端小demo:星星闪烁
- Excel表格×××号码如何一键提取性别、年龄、出生年月
- 2021最新大厂Java面试真题解析
- 11 计算机组成原理第七章 输入/输出系统 I/O系统基本概念 外部设备
- 北京市社会保险网上服务平台
- 《口算大作战 概念版》功能规格说明书
- win10计算机盘符如何,WIN10修改盘符怎么更改
- Windows系统设置自动开机
- 【夏目鬼鬼分享】centos7安装rabbitmq