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写了一遍,没判重边,速度都差不多 ...
随机推荐
- log4j使用
Spring中在src/main/resources下创建log4j.xml 或log4j.properties,在maven下打包时resources文件夹下面的文件会自动copy到WEB-INF/ ...
- Lintcode: Median
Given a unsorted array with integers, find the median of it. A median is the middle number of the ar ...
- ServiceController1
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...
- java读properties的通用类,兼容linux和windows
package util; import java.io.IOException; import java.io.InputStream; import java.util.Properties; / ...
- Windows 服务入门指南
有很多时候,我们需要创建Windows Service. 这篇文章可以算是一个入门指南吧,希望对初学者有帮助. 要创建Windows Service, 首先选择Windows服务项目,如下图: 这里我 ...
- System.Web.HttpContext.Current.Server.MapPath("~/upload/SH") 未将对象引用设置为实例对象
做项目的时候,System.Web.HttpContext.Current.Server.MapPath("~/upload/SH") 获取路径本来这个方法用的好好的 因为需要 ...
- PAT乙级 1024. 科学计数法 (20)
1024. 科学计数法 (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 HOU, Qiming 科学计数法是科学家用来表示很 ...
- [转]Delphi多线程编程入门(一)
最近Ken在比较系统地学习Delphi多线程编程方面的知识,在网络上查阅了很多资料.现在Ken将对这些资料进行整理和修改,以便收藏和分享.内容基本上是复制粘贴,拼拼凑凑,再加上一些修改而来.各个素材的 ...
- memcache缓存详解
这篇文章主要介绍了PHP中的Memcache,从Memcache简介开始,详细讲解了如Memcache和memcached的区别.PHP的 Memcache所有操作方法.每个操作方法的详细解释等,需要 ...
- href="#"会导致location.replace(location.href);脚本不工作
我们经常这样:<a onclick="xxx" href="#" 其实这不是一个好习惯,当点下这个连接后,主页面的URL后面会加个#号,这样就会导致很多J ...