hdu 1874 畅通工程续 floyed
裸题
题意:求任意两点之间的最短路径
坑点:测试数据同一条路径有可能出现多次,然后值不一样,注意筛选最小边
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int mp[300][300];
const int inf=20000;
void init() {
for(int i=0;i<203;i++) {
for(int j=0;j<203;j++) {
if(i==j) mp[i][j]=0;
else mp[i][j]=inf;
}
}
}
int main() {
int n,m;
while(scanf("%d%d",&n,&m)!=EOF) {
int a,b,c;
init();
for(int i=1;i<=m;i++) {
scanf("%d%d%d",&a,&b,&c);
mp[a][b]=min(c,mp[a][b]);
mp[b][a]=min(c,mp[a][b]);
}
for(int k=0;k<n;k++) {
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++) {
if(mp[i][j]>mp[i][k]+mp[k][j]) {
mp[i][j]=mp[i][k]+mp[k][j];
}
}
}
}
scanf("%d%d",&a,&b);
if(mp[a][b]!=inf)
printf("%d\n",mp[a][b]);
else printf("-1\n");
}
return 0;
}
hdu 1874 畅通工程续 floyed的更多相关文章
- ACM: HDU 1874 畅通工程续-Dijkstra算法
HDU 1874 畅通工程续 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Desc ...
- HDU 1874 畅通工程续-- Dijkstra算法详解 单源点最短路问题
参考 此题Dijkstra算法,一次AC.这个算法时间复杂度O(n2)附上该算法的演示图(来自维基百科): 附上: 迪科斯彻算法分解(优酷) problem link -> HDU 1874 ...
- hdu 1874 畅通工程续
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1874 畅通工程续 Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路.不过 ...
- HDU 1874畅通工程续(迪杰斯特拉算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 畅通工程续 Time Limit: 3000/1000 MS (Java/Others) ...
- hdu 1874 畅通工程续 Dijkstra
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 题目分析:输入起点和终点,顶点的个数,已连通的边. 输出起点到终点的最短路径,若不存在,输出-1 ...
- HDU 1874 畅通工程续【Floyd算法实现】
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- hdu 1874 畅通工程续(求最短距离,dijkstra,floyd)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1874 /************************************************* ...
- HDU 1874 畅通工程续(最短路/spfa Dijkstra 邻接矩阵+邻接表)
题目链接: 传送门 畅通工程续 Time Limit: 1000MS Memory Limit: 65536K Description 某省自从实行了很多年的畅通工程计划后,终于修建了很多路. ...
- hdu 1874 畅通工程续(迪杰斯特拉优先队列,floyd,spfa)
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Subm ...
随机推荐
- 深度学习标注工具 LabelMe 的使用教程(Windows 版本)
深度学习标注工具 LabelMe 的使用教程(Windows 版本) 2018-11-21 20:12:53 精灵标注助手:http://www.jinglingbiaozhu.com/ LabelM ...
- 在WPF中调用文件夹浏览/选择对话框
var dialog = new System.Windows.Forms.FolderBrowserDialog(); System.Windows.Forms.DialogResult resul ...
- Bioconductor软件安装与升级
1 安装工具Bioc的软件包不能使用直接install.packages函数,它有自己的安装工具,使用下面的代码: source("https://bioconductor.org/bioc ...
- JavaScript的Let用法
let 语句声明一个块级作用域的本地变量,并且可选的将其初始化为一个值. 描述 let 允许你声明一个作用域或被限制在块级中的变量.语句或者表达式. 与var不同的是,它声明的变量只能是全局或者整个函 ...
- vue--数据显示模版上
首先需要知道 挂载点:是index.html文件下的一个dom节点 模板:挂载点里的内容,也就是模板内容. 组件: 页面上的某一部分内容.当我们的项目比较大时,可以将页面拆分成几个部分,每个部分就是一 ...
- URL URI
URL 是统一资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址.互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理 ...
- 基于C语言的磁引导园丁机器人源程序 --单片机应用
GardenRobot.c: #include"reg52.h" #include"intrins.h" #define uchar unsigned char ...
- redis的发布订阅、持久化存储、redis的主从复制
redis的发布订阅 1. 创建redis配置文件 vim /opt/redis_conf/reids-6379.conf mkdir /data/6379 redis-server redis-6 ...
- 【其他】【http】【1】HTTP状态码
一些常见的状态码: 200 - 服务器成功返回网页 400 - 错误请求 404 - 请求的网页不存在 500 - 服务器内部错误 503 - 服务器超时 状态码大全: 1xx(临时响应)表示临时响应 ...
- JavaScript下实现交换数组元素上下移动例子
// 交换数组元素 var swapItems = function(arr, index1, index2) { arr[index1] = arr.splice(index2, ...