HDU Today


Time
Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 6147    Accepted Submission(s): 1485

Problem Description
经过锦囊相助,海东集团最终度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强。这时候。XHD夫妇也退居了二线,并在风景秀美的诸暨市浬浦镇陶姚村买了个房子,開始安度晚年了。

这样住了一段时间,徐总对当地的交通还是不太了解。

有时非常郁闷。想去一个地方又不知道应该乘什么公交车。在什么地方转车。在什么地方下车(事实上徐总自己有车,却一定要与民同乐,这就是徐总的性格)。

徐总常常会问蹩脚的英文问路:“Can you help me?

”。看着他那迷茫而又无助的眼神,热心的你能帮帮他吗?

请帮助他用最短的时间到达目的地(如果每一路公交车都仅仅在起点站和终点站停,并且随时都会开)。

 
Input
输入数据有多组,每组的第一行是公交车的总数N(0<=N<=10000)。

第二行有徐总的所在地start,他的目的地end;

接着有n行,每行有站名s。站名e。以及从s到e的时间整数t(0<t<100)(每一个地名是一个长度不超过30的字符串)。

note:一组数据中地名数不会超过150个。

假设N==-1,表示输入结束。
 
Output
假设徐总能到达目的地,输出最短的时间;否则,输出“-1”。
 
Sample Input
6 xiasha westlake xiasha station 60 xiasha ShoppingCenterofHangZhou30 station westlake 20 ShoppingCenterofHangZhou supermarket 10 xiasha supermarket 50 supermarket westlake 10 -1
 
Sample Output
50 
#include<cstdio>
#include<iostream>
#include<cstring>
#include<string>
#include<algorithm>
#include<map> using namespace std; map<string,int>mp;//映射
string s,e;//開始站和终点站
int n; const int INF=10010100; int m[160][160],d[160],used[160],k; void dij()///dij模板
{
fill(d,d+k+1,INF);//注意这里是k个,不是n个,n仅仅是路数,不是点数,一開始由于这个RE了好几次
memset(used,0,sizeof(used));
d[1]=0;
while(1)
{
int v=-1;
for(int u=1; u<=k; u++)
if(!used[u]&&(v==-1||d[u]<d[v]))
v=u;
if(v==-1)
break;
if(d[v]==INF)
break;
used[v]=1;
for(int u=1; u<=k; u++)
if(d[u]>d[v]+m[v][u])
d[u]=d[v]+m[v][u];
}
} int main()
{
//int n;
while(cin>>n)
{
if(n==-1)
break;
else
{
mp.clear();
for(int i=0; i<=155; i++)//建图,初始化
for(int j=0; j<=155; j++)
{
if(i==j)
m[i][j]=0;
else
m[i][j]=INF;
}
int v;
k=1;
string s1,s2;
cin>>s>>e;
//用map映射给站名标记,起始站为1,终点站为2
mp[s]=k++;
mp[e]=k++;
for(int i=0; i<n; i++)
{
cin>>s1>>s2>>v;
if(!mp[s1])
mp[s1]=k++;
if(!mp[s2])
mp[s2]=k++;
if(v<m[mp[s1]][mp[s2]])
m[mp[s1]][mp[s2]]=m[mp[s2]][mp[s1]]=v;
}
//cout<<mp[e]<<endl;
if(s==e)
cout<<"0\n";
else
{
dij();
if(d[2]==INF)
cout<<"-1\n";
else
cout<<d[2]<<endl;
}
}
}
return 0;
}

hdu 2112 HDU Today(map与dijkstra的结合使用)的更多相关文章

  1. hdu 2112 (最短路+map)

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 HDU Today Time Limit: 15000/5000 MS (Java/Others)  ...

  2. HDU 2112 HDU Today(Dijkstra)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 HDU Today Time Limit: 15000/5000 MS (Java/Others ...

  3. hdu 2112 HDU Today

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2112 HDU Today Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的 ...

  4. HDU 2112 HDU Today (Dijkstra算法)

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. HDU 2112 HDU Today(最短路径+map)

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  6. HDU 2112 HDU Today(STL MAP + Djistra)

    题目链接:HDU Today 立即集训要開始,抓紧时间练练手,最短路的基础题,第一次用STL的map 题目非常水,可是错了N遍.手贱了.本题不优点理的就是把地名转化为数字 #include <i ...

  7. ACM学习历程—HDU 2112 HDU Today(map && spfa && 优先队列)

    Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD夫妇也退居了二线 ...

  8. HDU 2112 HDU Today Dij+map转化

    HDU Today 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD夫妇也退居了二线,并 ...

  9. HDU 2112 HDU Today &lt;SPFA算法+map函数&gt;

    HDU Today Time Limit: 15000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

随机推荐

  1. js 判断是否为数组

    http://www.jb51.net/article/79939.htm Object.prototype.toString.call([1,2,3,4]) == '[object Array]'

  2. iOS_绘制带删除线的Label

    效果图例如以下: 一个带删除线的文本标签,继承自UILabel 自绘代码过程例如以下: 1,重写控件的drawRect方法 2,首先得到上下文对象 3,设置颜色,并指定是填充(Fill)模式还是笔刷( ...

  3. 在Jboss中使用Quartz

    Jboss EJB默认使用的定时服务是TimerService,TimerService的使用过程较为繁琐,需要使用一个无状态的serviceBean去实现scheduleTimer, timeout ...

  4. 125. Valid Palindrome【easy】

    125. Valid Palindrome[easy] Given a string, determine if it is a palindrome, considering only alphan ...

  5. Lua顺序 执行顺序

    1.4.2. Lua顺序 Nginx下Lua处理阶段与使用范围: init_by_lua http set_by_lua server, server if, location, location i ...

  6. ajax请求后台返回map类型并如何展示

    前台jsp或者ftl文件接收返回结果: <input type="hidden" name="selectedModelListStr" id=" ...

  7. Linux HugePage特性

    Linux HugePage特性 HugePage,就是指的大页内存管理方式.与传统的4kb的普通页管理方式相比,HugePage为管理大内存(8GB以上)更为高效.本文描述了什么是HugePage, ...

  8. lcd中像素深度bpp和像素格式(比如RGB,YUV)的关系

    像素深度(bits per pixel,简称bpp) 一个像素的颜色在计算机中由多少个字节数据来描述.计算机中用二进制位来表示一个像素的数据,用来表示一个像素的数据位越多,则这个像素的颜色值更加丰富. ...

  9. centos7.4 install ss-qt5

    一切都是为了FQ,哦,说错了,是***-- 参考官网安装指南 1.新建repo文件 vim /etc//yum.repos.d/shadowssocks.repo 2.在文件中输入以下内容: [lib ...

  10. Redis的Aof被阻塞原因调查

    背景 Redis是单进程的,为了发挥多核的优势,我们redis集群采用在单台机器上部署多个redis实例,同时对持久化方式做了改进,采用rdb和增量的aof相结合的方式,appendfsync配置为n ...