HDU(3790),最短路二级标准
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3790
最短路径问题
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 22854 Accepted Submission(s):
6813
a,b,d,p,表示a和b之间有一条边,且其长度为d,花费为p。最后一行是两个数
s,t;起点s,终点。n和m为0时输入结束。
(1<n<=1000, 0<m<100000, s != t)
1 2 5 6
2 3 4 5
1 3
0 0
#include <cstring>
#include <stdio.h>
#include <algorithm> using namespace std; #define maxn 1010
#define INF 0x3f3f3f3f
int dis[maxn],visit[maxn],cost[maxn];
int maps[maxn][maxn],maps2[maxn][maxn];
int n,m; int start,send;
void dijkstra(int s)
{ for(int i=; i<=n; i++)
{
dis[i]=maps[start][i];
cost[i]=maps2[start][i];
visit[i]=;
} visit[s]=;
dis[s] = ;
cost[s] = ; for(int i=; i<n-; i++)
{
int temp=INF, k =;
for(int j=; j<=n; j++)
{
if(visit[j]==false)
{
if(temp>dis[j])
{
temp = dis[j];
k = j;
}
}
}
visit[k]=;
for(int j=; j<=n; j++)
{
if(!visit[j])
{
if(dis[j]>dis[k]+maps[k][j])
{
dis[j]=dis[k]+maps[k][j];
cost[j]=cost[k]+maps2[k][j];
}
else if(dis[j]==dis[k]+maps[k][j])
cost[j]=min(cost[j],cost[k]+maps2[k][j]);
}
}
}
}
int main()
{
//freopen("input.txt","r",stdin);
while(scanf("%d%d",&n,&m),n)
{
for(int i=; i<=n; ++i)
{
for(int j=; j<=n; ++j)
{
if(i==j)
maps[i][j]=maps2[i][j]=;
else
maps[i][j]=maps2[i][j]=INF;
}
}
while(m--)
{
int a,b,d,c;
scanf("%d%d%d%d",&a,&b,&d,&c);
if(maps[a][b]>d)
{
maps[a][b]=maps[b][a]=d;
maps2[a][b]=maps2[b][a]=c;
}
if(maps[a][b]==d&&maps2[a][b]>c)
maps2[a][b]=maps2[b][a]=c;
}
scanf("%d%d",&start,&send);
dijkstra(start);
printf("%d %d\n",dis[send],cost[send]);
}
return ;
}
HDU(3790),最短路二级标准的更多相关文章
- ACM: HDU 3790 最短路径问题-Dijkstra算法
HDU 3790 最短路径问题 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Des ...
- ACM: HDU 2544 最短路-Dijkstra算法
HDU 2544最短路 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descrip ...
- UESTC 30 &&HDU 2544最短路【Floyd求解裸题】
最短路 Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- hdu 5521 最短路
Meeting Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total ...
- HDU - 3790 最短路径问题 (dijkstra算法)
HDU - 3790 最短路径问题 Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费 ...
- HDU - 2544最短路 (dijkstra算法)
HDU - 2544最短路 Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以 ...
- HDU 3790最短路径问题 [最短路最小花费]
题目链接:[http://acm.hdu.edu.cn/showproblem.php?pid=3790] 最短路径问题 Time Limit: 2000/1000 MS (Java/Others) ...
- 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写了一遍,没判重边,速度都差不多 ...
随机推荐
- hdu1251(字典树)
统计难题(hdu1251) Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131070/65535 K (Java/Others) Tota ...
- acm算法模板(5)
STL 中 sort 函数用法简介 做 ACM 题的时候,排序是一种经常要用到的操作.如果每次都自己写个冒泡之类的 O(n^2) 排序,不但程序容易超时,而且浪费宝贵的比赛时间,还很有可能写错. ST ...
- csuoj 1120: 病毒
http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1120 1120: 病毒 Time Limit: 3 Sec Memory Limit: 128 ...
- 用xml添加动画
在res文件夹下新建anim文件夹 在anim文件夹新建anim.xml anim.xml: <?xml version="1.0" encoding="utf-8 ...
- CCF真题之网络延时
201503-4 问题描述 给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机.交换机与电脑之间使用网络连接.交换机按层级设置,编号为1的交换机为根交换机,层级为1.其他的交换机都连接 ...
- android 修改系统的dialog样式
android 修改系统的dialog样式 一.觉得自定义配置文件麻烦?那就来修改系统自定义XML文件来实现修改系统dialog的样式吧. 如果是在XML中样式:首先来说下样式. 在 Style.x ...
- 类名.class, class.forName(), getClass()区别
1:Class cl=A.class; JVM将使用类A的类装载器, 将类A装入内存(前提是:类A还没有装入内存),不对类A做类的初始化工作.返回类A的Class的对象. 2:Class cl=对象引 ...
- EBS多OU和多帐套客户化总结
(一) 多OU总结 . Form多OU实现 ) 创建一个Table,以CUX_AP_CHECK_HEADER_ALL为例 ) 创建Table的两个Synonym(一个不含_ALL,一个以_ALL结尾) ...
- IE和FF区别关于css和js
css 1.ul标签FF中有padding值,没有margin,IE中相反 解决办法:将ul的padding和margin都设为0, js 1.IE中innerText在火狐中没有,使用textCon ...
- JSON转换类
MXS&Vincene ─╄OvЁ &0000010 ─╄OvЁ MXS&Vincene MXS&Vincene ─╄OvЁ:今天很残酷,明天更残酷,后天很美好 ...