HDU today(最短路径)
HDU TodayCrawling in process... Crawling failed Time Limit:5000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Description
这样住了一段时间,徐总对当地的交通还是不太了解。有时很郁闷,想去一个地方又不知道应该乘什么公交车,在什么地方转车,在什么地方下车(其实徐总自己有车,却一定要与民同乐,这就是徐总的性格)。
徐总经常会问蹩脚的英文问路:“Can you help me?”。看着他那迷茫而又无助的眼神,热心的你能帮帮他吗?
请帮助他用最短的时间到达目的地(假设每一路公交车都只在起点站和终点站停,而且随时都会开)。
Input
第二行有徐总的所在地start,他的目的地end;
接着有n行,每行有站名s,站名e,以及从s到e的时间整数t(0<t<100)(每个地名是一个长度不超过30的字符串)。
note:一组数据中地名数不会超过150个。
如果N==-1,表示输入结束。
Output
Sample Input
Sample Output
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
int map[160][160];
int pra[160];
int visit[160];
int dis[160];
const int inf=1<<20;
int n,m;
int dijstra(int start)
{int min,rec;for(int i=1;i<=m;i++){pra[i]=0;dis[i]=inf;visit[i]=0;}dis[start]=0;for(int i=1;i<=m;i++){min=inf;for(int j=1;j<=m;j++){if(!visit[j]&&min>dis[j]){min=dis[j];rec=j;}}visit[rec]=1;if(rec==2)break;for(int j=1;j<=m;j++){if(!visit[j]&&dis[j]>map[rec][j]+dis[rec]){dis[j]=map[rec][j]+dis[rec];pra[j]=rec;}} }return min;
}
int main()
{while(scanf("%d",&n)!=EOF&&n!=-1){char str1[40],str2[40];char str[160][40];int val,num1,num2;int i,j,t;m=3;memset(map,0x7f,sizeof(map));scanf("%s%s",&str[1],&str[2]);for(i=1;i<=n;i++){scanf("%s%s%d",&str1,&str2,&val);for(j=1;j<=m;j++){if(strcmp(str1,str[j])==0){num1=j;break;}}if(j>m){strcpy(str[m++],str1);num1=m-1;}for(j=1;j<=m;j++){if(strcmp(str2,str[j])==0){num2=j;break;}}if(j>m){strcpy(str[m++],str2);num2=m-1;}if(map[num1][num2]>val)map[num1][num2]=map[num2][num1]=val; }t=dijstra(1);if(strcmp(str[1],str[2])==0)printf("0\n");else {if(t==inf)printf("-1\n");else printf("%d\n",t);}}
}
转载于:https://blog.51cto.com/4632152/807013
HDU today(最短路径)相关推荐
- 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) ...
- hdu 3790 最短路径dijkstra(多重权值)
最短路径问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU 3790 最短路径问题 (dijkstra)
最短路径问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU 3790 最短路径问题
最短路径问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- HDU - 3790 最短路径问题
给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的. Input输入n,m,点的编号是1~n,然后是m行 ...
- hdu 3790 最短路径问题
最短路径问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU 3790 最短路径问题 (SPFA)
转载请注明出处:http://blog.csdn.net/a1dark 分析:比一般最短路多了一个花费.多加一个判断即可.用的SPFA.这道题让我搞清楚了以前定义INF为啥爆的问题.受益颇多. #in ...
- 8-12-COMPETITION
链接:最短路 A.HDU 2544 最短路 算是最基础的题目了吧.............我采用的是Dijkstra算法....... 代码: 1 #include <iostream&g ...
- 杭电OJ分类题目(4)-Graph
原题出处:HDOJ Problem Index by Type,http://acm.hdu.edu.cn/typeclass.php 杭电OJ分类题目(4) HDU Graph Theory - U ...
最新文章
- Java 基础 之 continue和 break
- Java基础--反射Reflection
- python叫什么-什么叫Python运算符重载
- java: String的==与equals
- Python应用实战系列(一)-正则表达式大全
- 关于android设备管理器的一些分析
- HTML 5 全局属性
- C# -- HttpWebRequest 和 HttpWebResponse 的使用
- 洛谷 P1074 靶形数独 Label:search 不会
- 微信小范围上线“分付”功能;罗永浩宣布独家签约抖音;Github pages 可能遭遇中间人攻击 | 极客头条...
- 24V转5V的常规操作7812,7805,重要的是器件选型
- 2.携程架构实践 --- 移动大前端
- JDK和JRE区别和联系
- 数学计算机学具制作,《 用计算器计算》四年级数学
- 关于ABAP调试中的F5,F6,F7,F8的区别和用法
- mysql a foreign key constraint fails_外键记录有存在,插入数据却报错a foreign key constraint fails...
- 网络攻击之防重放篇~
- 管理类联考-英语: 前导( 一 )
- 安装office2016专业增强版
- dll转换成.a /dll转换lib