题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3790

这题cin会超时i

关于解决cin超时的问题

在main函数开头加上 ios::sync_with_stdio(false) 就行了,理论上这个办法和用scanf差不多(学长教我的= =)不过我自己用的scanf是200多ms,用上面那句是500多ms orz

#include<iostream>
#include<cstdio>
#include<cstring>
#define INF 1000001
using namespace std;

int dis[1010],cost[1010][1010],visit[1010],map[1010][1010],cos[1010];

int main(void)
{
int n,m,a,b,d,p,i,j,s,t,min,z;
while(scanf("%d%d",&n,&m)==2&&(n+m))
{
memset(visit,0,sizeof(visit));
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
map[i][j]=INF;
cost[i][j]=INF;
}
}
while(m--)
{
scanf("%d%d%d%d",&a,&b,&d,&p);
//cin>>a>>b>>d>>p;
if(d<map[a][b])
{
map[a][b]=map[b][a]=d;
cost[a][b]=cost[b][a]=p;
}
else if(d==map[a][b]&&p<cost[a][b])
{
cost[a][b]=cost[b][a]=p;
}
}
scanf("%d%d",&s,&t);
//cin>>s>>t;
visit[s]=1;
for(i=1; i<=n; i++)
{
dis[i]=map[s][i];
cos[i]=cost[s][i];
}
for(i=1; i<=n; i++)
{
min=INF;
for(j=1; j<=n; j++)
{
if(!visit[j]&&min>dis[j])
{
z=j;
min=dis[j];
}
}
visit[z]=1;
for(j=1; j<=n; j++)
{
if(!visit[j]&&dis[j]>dis[z]+map[z][j])
{
dis[j]=dis[z]+map[z][j];
cos[j]=cos[z]+cost[z][j];
}
else if(!visit[j]&&dis[j]==dis[z]+map[z][j]&&cos[j]>cos[z]+cost[z][j])
{
cos[j]=cos[z]+cost[z][j];
}
}
}
printf("%d %d\n",dis[t],cos[t]);
}
return 0;
}

hdu-3790-最短路径问题(dijkstra算法)的更多相关文章

  1. ACM: HDU 3790 最短路径问题-Dijkstra算法

    HDU 3790 最短路径问题 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Des ...

  2. hdu 2680 最短路径(dijkstra算法+多源最短路径单源化求最小值)这题有点意思

    Choose the best route Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  3. HDU - 3790 最短路径问题 (dijkstra算法)

    HDU - 3790 最短路径问题 Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费 ...

  4. 单源最短路径(dijkstra算法)php实现

    做一个医学项目,当中在病例评分时会用到单源最短路径的算法.单源最短路径的dijkstra算法的思路例如以下: 如果存在一条从i到j的最短路径(Vi.....Vk,Vj),Vk是Vj前面的一顶点.那么( ...

  5. 【算法设计与分析基础】25、单起点最短路径的dijkstra算法

    首先看看这换个数据图 邻接矩阵 dijkstra算法的寻找最短路径的核心就是对于这个节点的数据结构的设计 1.节点中保存有已经加入最短路径的集合中到当前节点的最短路径的节点 2.从起点经过或者不经过 ...

  6. 数据结构与算法--最短路径之Dijkstra算法

    数据结构与算法--最短路径之Dijkstra算法 加权图中,我们很可能关心这样一个问题:从一个顶点到另一个顶点成本最小的路径.比如从成都到北京,途中还有好多城市,如何规划路线,能使总路程最小:或者我们 ...

  7. 最短路径 | 深入浅出Dijkstra算法(一)

    参考网址: https://www.jianshu.com/p/8b3cdca55dc0 写在前面: 上次我们介绍了神奇的只有五行的 Floyd-Warshall 最短路算法,它可以方便的求得任意两点 ...

  8. 经典树与图论(最小生成树、哈夫曼树、最短路径问题---Dijkstra算法)

    参考网址: https://www.jianshu.com/p/cb5af6b5096d 算法导论--最小生成树 最小生成树:在连通网的所有生成树中,所有边的代价和最小的生成树,称为最小生成树. im ...

  9. POJ 3790 最短路径问题(Dijkstra变形——最短路径双重最小权值)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3790 Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你 ...

  10. ACM: HDU 2544 最短路-Dijkstra算法

    HDU 2544最短路 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Descrip ...

随机推荐

  1. 【转】Grub Rescue修复方法

    症状: 开机显示: GRUB loading error:unknow filesystem grub rescue> 原因:已经发现下面几种操作会导致这种问题:1,想删除debian,于是直接 ...

  2. 转:Web测试需要了解的知识

    这里只是介绍Web测试相对于其他类型软件的测试额外需要了解的内容,关于测试方法不是本文的重点,里面谈到的每一项在以后的文章中再说明.大家看到这些内容可能都不陌生,我晒出的内容也许不对或有误导,请大家指 ...

  3. 转:Web 测试的创作与调试技术

    摘要:学习有关 Visual Studio 2005 Web 测试的更多知识,包括 Web 测试引擎和记录器如何工作,以及如何创建有效的 Web 测试. 本页内容 读者 简介 记录一个 Web 测试  ...

  4. Delphi中register, pascal, cdecl, stdcall, safecall(转)

    源:http://blog.sina.com.cn/s/blog_552c78120100hsr9.html 注: 使用错误,或者在该加的地方没有加,可能会出现"privileged ins ...

  5. BNU OJ 50999 BQG's Approaching Deadline

    #include<cstdio> #include<algorithm> using namespace std; +; struct Homework { long long ...

  6. perties类的操作

    http://www.cnblogs.com/bakari/p/3562244.html perties类的操作   知识学而不用,就等于没用,到真正用到的时候还得重新再学.最近在看几款开源模拟器的源 ...

  7. Javac和java命令执行java程序

    javac [ options ] [ sourcefiles ] [ @files ]:编译一个java文件. 1. 注意到执行命令必须要指定到包含java文件的路径,否则会出现找不到file错误. ...

  8. ckeditor_3.6.6.2+CKFinder2.0.2配置

    一.首先工具的下载,找到相应的版本进行下载     ckeditor_3.6.6.2+CKFinder2.0.2 http://ckeditor.com/download      打开war文件,然 ...

  9. corosync集群的选举算法

    <Cluster Concepts> http://linux-ha.org/wiki/Cluster_Concepts <Managing Computers with Autom ...

  10. Python正则表达式,统计分析nginx访问日志

    目标: 1.正则表达式 2.oop编程,统计nginx访问日志中不同IP地址出现的次数并排序 1.正则表达式 #!/usr/bin/env python # -*- coding: utf-8 -*- ...