hdu 3790(最短路)
最短路径问题
(1<n<=1000, 0<m<100000, s != t)
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;const int maxn = 1005;
const int inf = 0x3f3f3f3f;
int n,m,cnt,map[maxn][maxn],cost[maxn][maxn];
int dis[maxn],price[maxn];
bool vis[maxn];void Dijkstra(int s,int t)
{int k = s,MIN;memset(vis,false,sizeof(vis));memset(dis,inf,sizeof(dis));memset(price,inf,sizeof(price));for(int i = 1; i <= n; i++)if(i != s){dis[i] = map[s][i];price[i] = cost[s][i];}vis[k] = true;for(int i = 1; i < n; i++){MIN = inf;for(int j = 1; j <= n; j++){if(vis[j] == true) continue;if(MIN > dis[j]){MIN = dis[j];k = j;}}vis[k] = true;for(int j = 1; j <= n; j++){if(vis[j] == true) continue;if(dis[j] > dis[k] + map[k][j]){dis[j] = dis[k] + map[k][j];price[j] = price[k] + cost[k][j];}else if(dis[j] == dis[k] + map[k][j] && price[j] > price[k] + cost[k][j])price[j] = price[k] + cost[k][j];}}printf("%d %d\n",dis[t],price[t]);
}int main()
{int u,v,len,c,s,t;while(scanf("%d%d",&n,&m),n+m){memset(map,inf,sizeof(map));memset(cost,inf,sizeof(cost));for(int i = 1; i <= m; i++){scanf("%d%d%d%d",&u,&v,&len,&c);if(map[u][v] > len){map[u][v] = map[v][u] = len;cost[u][v] = cost[v][u] = c;}else if(map[u][v] == len && cost[u][v] > c)cost[u][v] = cost[v][u] = c;}scanf("%d%d",&s,&t);Dijkstra(s,t);}return 0;
}
hdu 3790(最短路)相关推荐
- Hdu 1217 最短路.cpp
题意: 各国的汇率兑换.. 给出各国之间汇率兑换的比例,然后问你是否可以通过不断地兑换最后挣钱.. 譬如美金兑换英镑 是0.5 英镑兑换法币是 10 法币兑换美金是 0.21 所以通过1美金兑换成0. ...
- hdu 2112 HDU Today 最短路(Dijkstra算法)
HDU Today Time Limit: 15000/5000 MS ...
- hdu 2544 最短路 (dijkstra)
http://acm.hdu.edu.cn/showproblem.php?pid=2544 最简单的最短路了吧 改天试试优化版本的 #include<stdio.h> #include& ...
- HDU 2544 最短路(各种最短路算法的实现)
链接: http://acm.hdu.edu.cn/showproblem.php?pid=2544 题目: Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂 ...
- HDU2112 HDU Today 最短路+字符串哈希
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU_2112 HDU Today—最短路(Dijkstra)
点击这里 你便可以亲身去HDU体验一下 先看题目: HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/3 ...
- 20211123 HDU练习 最短路和最小生成树
一些模板题,都是dijkstra和prim 第一次写博客就复制黏贴实验报告非常抱歉,下次一定好好写.() 以后自己做的题也会写点题解吧 欢迎找我玩~ HDU Today Time Limit : 1 ...
- hdu 3790(最短路径问题 SPFA算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3790 最短路径问题 Time Limit: 2000/1000 MS (Java/Others) ...
- HDU 3790 最短路径问题 裸跑dijkstra
原题: http://acm.hdu.edu.cn/showproblem.php?pid=3790 题目: 最短路径问题 Time Limit: 2000/1000 MS (Java/Others) ...
最新文章
- ps怎么把一个颜色替换成另一个颜色_图标设计,用PS制作一款小清新的拟物时钟...
- 纵向表格_Excel如何把横向数据变纵向?教你一键快速实现
- python编程题三
- one thread one loop 思想
- Python select解析
- php serialize error at offset,PHP Notice: unserialize(): Error at offset XX of XX bytes
- 2016中国信息通信大数据大会召开在即,精彩看点提前揭晓
- 漫画:千万别在同事面前装逼
- 08-08 性能测试--分布式
- linux运维项目redis简历,redis简介
- Opencv求多边形或轮廓的凸包(Hull)
- 微信小程序开发的坑---tabBar
- python中type(12.34)_下面代码的输出结果是
- c语言课后第七章习题,c语言课后习题第7章函数
- Android开发 -使用腾讯TBS浏览服务 X5webview控件
- 微信小程序在线考试项目开发-注册登录功能
- WebVirtMgr + KVM 环境中的 Linux 虚拟机部署
- (34)[NIPS15] Teaching Machines to Read and Comprehend
- 2019中国区块链开发者大会 | Conflux 伍鸣:性能问题仍是区块链的应用阻碍
- 关于华三WLAN调试空口利用率居高不下的调试心得