dijstra最短路径算法

9885560 2013-12-23 23:54:56 Accepted 3790 203MS 8112K 1343 B C++ 泽泽
 #include<cstdio>
#include<cstring>
#define inf 0xffffff
int g[][];
int v[][];
void dijstra(int n,int a)
{
int used[],i,j,k,min,dis[],lowcost[];
memset(used,,sizeof(used));
for(i=;i<=n;i++)
{
dis[i]=g[i][a];
lowcost[i]=v[i][a];
}
used[a]=;
for(i=;i<=n;i++)
{
j=a;min=inf;
for(k=;k<=n;k++)
{
if(dis[k]<min&&!used[k])
min=dis[k],
j=k;
}
used[j]=;
for(k=;k<=n;k++)
{
if(g[k][j]+dis[j]<dis[k]&&!used[k])
{
g[a][k]=g[k][a]=dis[k]=g[k][j]+dis[j];
lowcost[k]=v[a][k]=v[k][a]=v[k][j]+v[j][a];
}
if(g[k][j]+dis[j]==dis[k]&&!used[k])
{
if(v[k][j]+lowcost[j]<lowcost[k])
{
lowcost[k]=v[k][a]=v[k][j]+v[j][a];
} }
}
} }
int main()
{
int n,m,i,j,a,b,s,vi;
while(scanf("%d %d",&n,&m)!=EOF)
{
if(!n&&!m)break;
for(i=;i<=n;i++)
{
for(j=;j<=n;j++)
{
g[i][j]=inf,v[i][j]=inf;
}
g[i][i]=;
}
for(i=;i<=m;i++)
{
scanf("%d %d %d %d",&a,&b,&s,&vi);
if(s<g[a][b]) {
g[a][b]=g[b][a]=s;
v[a][b]=v[b][a]=vi;
}
if(s==g[a][b]&&vi<v[a][b])
{
v[a][b]=v[b][a]=vi;
}
}
int start,end;
scanf("%d %d",&start,&end);
dijstra(n,start);
printf("%d %d\n",g[start][end],v[start][end]);
}
return ;
}

HDOJ 3790的更多相关文章

  1. hdoj 3790 最短路径问题

    最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  2. hdoj(3790) 最短路径

    最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Subm ...

  3. HDOJ 3790 双权值Dijkstra

    #include <iostream> #include <stdio.h> #include <string.h> #include <cstring> ...

  4. HDOJ 1009. Fat Mouse' Trade 贪心 结构体排序

    FatMouse' Trade Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  5. HDOJ 2317. Nasty Hacks 模拟水题

    Nasty Hacks Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Tota ...

  6. HDOJ 1326. Box of Bricks 纯水题

    Box of Bricks Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) To ...

  7. HDOJ 1004 Let the Balloon Rise

    Problem Description Contest time again! How excited it is to see balloons floating around. But to te ...

  8. hdoj 1385Minimum Transport Cost

    卧槽....最近刷的cf上有最短路,本来想拿这题复习一下.... 题意就是在输出最短路的情况下,经过每个节点会增加税收,另外要字典序输出,注意a到b和b到a的权值不同 然后就是处理字典序的问题,当松弛 ...

  9. HDOJ(2056)&HDOJ(1086)

    Rectangles    HDOJ(2056) http://acm.hdu.edu.cn/showproblem.php?pid=2056 题目描述:给2条线段,分别构成2个矩形,求2个矩形相交面 ...

随机推荐

  1. Bootstrap3.0学习第十八轮(JavaScript插件——下拉菜单)

    详情请查看 http://aehyok.com/Blog/Detail/25.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:h ...

  2. 软工实践练习一(个人)----将Androidstudio的项目共享到github

    在Androidstudio上使用git插件 将项目共享至github 将 显示共享成功但是出了点问题 项目文件并没有上传至github库中,而是只创建了一个新的库 问题在于我的gitforwindo ...

  3. Beta版本冲刺总结

    小组:The Expendables 本来这篇Beta版本的冲刺总结应该在演示前就要写的,但在演示前的几天我们小组还在对一些功能进行反复的测试和修改,所以就将冲刺总结延后再写. 一.项目预期计划 改进 ...

  4. [转]不再以讹传讹,GET和POST的真正区别

    原文地址:http://www.nowamagic.net/librarys/veda/detail/1919 如果有人问你,GET和POST,有什么区别?你会如何回答? 我的经历 前几天有人问我这个 ...

  5. Java设计模式-模板方法模式(Template Method)

    解释一下模板方法模式,就是指:一个抽象类中,有一个主方法,再定义1...n个方法,可以是抽象的,也可以是实际的方法,定义一个类,继承该抽象类,重写抽象方法,通过调用抽象类,实现对子类的调用,先看个关系 ...

  6. artDialog 文档

    artDialog —— 经典.优雅的网页对话框控件. 支持普通与 12 方向气泡状对话框 完善的焦点处理,自动焦点附加与回退 支持 ARIA 标准 面向未来:基于 HTML5 Dialog 的 AP ...

  7. HTTP各个状态返回值

    转载来自于:http://desert3.iteye.com/blog/1136548 502 Bad Gateway:tomcat没有启动起来 504 Gateway Time-out: nginx ...

  8. Java虚拟机类加载机制

    看到这个题目,很多人会觉得我写我的java代码,至于类,JVM爱怎么加载就怎么加载,博主有很长一段时间也是这么认为的.随着编程经验的日积月累,越来越感觉到了解虚拟机相关要领的重要性.闲话不多说,老规矩 ...

  9. windows ubuntu双系统启动

    开始安装系统 1.安装系统 首先安装windows8和ubuntu12.04,安装先后顺序可以不用管,只是安装到ubuntu的分区时需要注意device for boot loader install ...

  10. nginx在linux中安装

    下载地址:http://qkxue.net/ 1.2    解压 使用命令:tar zxvf nginx-1.8.1.tar.gz 1.3    切换至解压目录,安装依赖 yum -y install ...