hdu-3790-最短路径问题(Dijkstra)
题目链接
/*
Name:hdu-3790-最短路径问题
Copyright:
Author:
Date: 2018/4/16 19:16:25
Description: dijkstra 模板题
*/
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
const int MaxN = ;
const int INF = 0x3f3f3f3f;
int dis[MaxN], g[MaxN][MaxN],N, src, costEdge[MaxN][MaxN], cost[MaxN];
bool v[MaxN]; void dijkstra() {
for (int i=; i<=N; i++){
dis[i] = INF;
cost[i] = INF;
}
dis[src] = ;
cost[src] = ;
memset(v, , sizeof(v));
for (int i=; i<=N; i++) {
int mark = -, mindis = INF;
for (int j=; j<=N; ++j) {
if (!v[j] && dis[j]<mindis) {
mindis = dis[j];
mark = j;
}
}
v[mark] = ;
for (int j=; j<=N; ++j) {
if (!v[j]) {
if (dis[mark] + g[mark][j] < dis[j]) {
dis[j] = dis[mark] + g[mark][j];
cost[j] = cost[mark] + costEdge[mark][j];
} else if(dis[mark] + g[mark][j] == dis[j] && cost[j] > cost[mark] + costEdge[mark][j]) {
cost[j] = cost[mark] + costEdge[mark][j];
}
}
}
}
}
int final[MaxN];
int main()
{
// freopen("in.txt", "r", stdin);
int m;
while (~scanf("%d %d", &N, &m) && (N || m)) {
memset(g, 0x3f, sizeof(g));
memset(dis, , sizeof(dis));
memset(cost, , sizeof(cost));
memset(costEdge, 0x3f, sizeof(costEdge)); for (int i=; i<m; i++) {
int u, v, w, c;
scanf("%d %d %d %d", &u, &v, &w, &c);
if(w < g[u][v]) { //必须判断 重边否则WA
g[u][v] = g[v][u] = w;
costEdge[u][v] = costEdge[v][u] = c;
}
}
int final = ;
scanf("%d %d", &src, &final);
dijkstra();
printf("%d %d\n", dis[final], cost[final]);
}
return ;
}
hdu-3790-最短路径问题(Dijkstra)的更多相关文章
- ACM: HDU 3790 最短路径问题-Dijkstra算法
HDU 3790 最短路径问题 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Des ...
- HDU - 3790 最短路径问题 (dijkstra算法)
HDU - 3790 最短路径问题 Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费 ...
- POJ 3790 最短路径问题(Dijkstra变形——最短路径双重最小权值)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3790 Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你 ...
- hdu 3790 最短路径问题(双重权值,dijkstra算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3790 题目大意:题意明了,输出最短路径及其花费. 需要注意的几点:(1)当最短路径相同时,输出最小花费 ...
- #HDU 3790 最短路径问题 【Dijkstra入门题】
题目: 最短路径问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- hdu 3790 最短路径dijkstra(多重权值)
最短路径问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- HDU 3790 最短路径问题(SPFA || Dijkstra )
题目链接 题意 : 中文题不详述. 思路 :无论是SPFA还是Dijkstra都在更新最短路的那个地方直接将花费更新了就行,还有别忘了判重边,话说因为忘了判重边WA了一次. #include < ...
- HDU 3790 最短路径问题【Dijkstra】
题意:给出n个点,m条边,每条边的长度d和花费p,给出起点和终点的最短距离和花费,求最短距离,如果有多个最短距离,输出花费最少的 在用dijkstra求最短距离的时候,再用一个f[]数组保存下最少花费 ...
- hdu 3790 最短路径问题(两个限制条件的最短路)
http://acm.hdu.edu.cn/showproblem.php?pid=3790 有两个条件:距离和花费.首先要求距离最短,距离相等的条件下花费最小. dijkstra,仅仅是在推断条件时 ...
- HDU 3790 最短路径问题 (最短路)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3790 简单的最短路问题,这题听说有重边.我用spfa和dijkstra写了一遍,没判重边,速度都差不多 ...
随机推荐
- springboot springmvc 支持 https
Spring Mvc和Spring Boot配置Tomcat支持Https 背景 最近在项目开发中需要让自己的后端Restful接口支持https,在参考了很多前辈们的博客后总结了一些. Spring ...
- net mvc 利用NPOI导入导出excel
1.导出Excel : 首先引用NPOI包(Action一定要用FileResult) /// <summary> /// 批量导出需要导出的列表 /// </summary> ...
- 【整理学习Hadoop】H D F S 一个分布式文件系统
Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时,它和其他的分布式文件系统的区别 ...
- 05 Spring框架 依赖注入(二)
上一节我们讲了三种信息的注入,满足一个类的属性信息的注入,但是如果我们需要向一个实例中注入另一个实例呢?就像我们创建一个学生类,里边有:姓名,性别,年龄,成绩等几个属性(我习惯把类的域叫做属性),但是 ...
- PAT 天梯赛 L2-015. 互评成绩 【排序】
题目链接 https://www.patest.cn/contests/gplt/L2-015 思路 在求和的过程中 标记一下 最大值和最小值,在最后求平均的时候 用总和减去最大值和最小值 去除 (总 ...
- $《第一行代码:Android》读书笔记——第10章 Android网络编程
(一)WebView的用法 1.WebView也是一个普通的控件. 2.常用用法: WebView webView = (WebView)findViewById(R.id.web_view); we ...
- 吐槽 坑爹的MySQL安装路径选择
一般再windows下面安装MySQL我们都会选择msi安装模式,然而安装最新版的MySQL(mysql-installer-community-5.7.11.0.msi 下载地址)发现MySQL默认 ...
- 用js来实现那些数据结构 第二章
这一篇文章,我们一起来看看数组还有哪些用法,以及在实际工作中我们可以用这些方法来做些什么.由于其中有部分内容并不常用,所以我尽量缩小篇幅.在这篇文章内介绍完大部分的数组方法,加快我们实现其它数据结构的 ...
- VSCode隐藏node_modules目录
使用VSCode,打开一个工程时,发现node_modules目录包含到工程中了,问题: settings.json配置如下,可以自己定制忽略的文件夹: search.exclude 用来忽略搜索的文 ...
- 【leetcode刷题笔记】Single Number II
Given an array of integers, every element appears three times except for one. Find that single one. ...