hdu 2112 HDU Today(map与dijkstra的结合使用)
HDU Today
Time
Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6147 Accepted Submission(s): 1485
这样住了一段时间,徐总对当地的交通还是不太了解。
有时非常郁闷。想去一个地方又不知道应该乘什么公交车。在什么地方转车。在什么地方下车(事实上徐总自己有车,却一定要与民同乐,这就是徐总的性格)。
徐总常常会问蹩脚的英文问路:“Can you help me?
”。看着他那迷茫而又无助的眼神,热心的你能帮帮他吗?
请帮助他用最短的时间到达目的地(如果每一路公交车都仅仅在起点站和终点站停,并且随时都会开)。
第二行有徐总的所在地start,他的目的地end;
接着有n行,每行有站名s。站名e。以及从s到e的时间整数t(0<t<100)(每一个地名是一个长度不超过30的字符串)。
note:一组数据中地名数不会超过150个。
假设N==-1,表示输入结束。
#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的结合使用)的更多相关文章
- hdu 2112 (最短路+map)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 HDU Today Time Limit: 15000/5000 MS (Java/Others) ...
- HDU 2112 HDU Today(Dijkstra)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 HDU Today Time Limit: 15000/5000 MS (Java/Others ...
- hdu 2112 HDU Today
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2112 HDU Today Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的 ...
- HDU 2112 HDU Today (Dijkstra算法)
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU 2112 HDU Today(最短路径+map)
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU 2112 HDU Today(STL MAP + Djistra)
题目链接:HDU Today 立即集训要開始,抓紧时间练练手,最短路的基础题,第一次用STL的map 题目非常水,可是错了N遍.手贱了.本题不优点理的就是把地名转化为数字 #include <i ...
- ACM学习历程—HDU 2112 HDU Today(map && spfa && 优先队列)
Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD夫妇也退居了二线 ...
- HDU 2112 HDU Today Dij+map转化
HDU Today 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD夫妇也退居了二线,并 ...
- HDU 2112 HDU Today <SPFA算法+map函数>
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
随机推荐
- OUTLOOK之不能直接发送邮件的Mapi错误解决方法
近期在从office2010直接升级到2013,发现右键文件不能发送到邮件了,同一时候在word文档里.也不能作为附件发送到邮件了. 提示错误是: Mapi Failure - "Unspe ...
- putty英文乱码---DM8168_ETV_V1.1(路视明)
配置參照http://jingyan.baidu.com/article/c74d600048ed620f6a595d12.html 注意事项: 假设出现 英文也乱码.那么就是波特率设置的问题,应该这 ...
- 从DTS到驱动加载的过程分析
http://blog.csdn.net/iefswang/article/details/40543733 http://www.linuxidc.com/Linux/2013-07/86839.h ...
- 如何获取UA
function whatBrowser() { document.Browser.Name.value=navigator.appName; document.Browser.Version.val ...
- waterfall.js
jq-waterfall是一款仿Pinterest网站的响应式无限动态加载图片瀑布流特效jQuery插件.该瀑布流特效使用ajax调用来动态加载图片,达到无限加载的效果.它使用简单,兼容性好,值得推荐 ...
- codeblocks如何watch指针
如果这个指针是指向一个一维数组,那么在watch窗口中右击并选择Dereference,会看到数组的第一个元素 如果这个指针是指向一个struct,那么在watch窗口中右击并选择Dereferenc ...
- the method getcontextpath() from the type httpservletrequest refers to the missing type string
导入项目的时候容易报出这个错误,主要因为JRE(jdk版本不一致). 解决方法:就是重新配置路径,配置你机器上安装的jdk. 右击该出错项目→ Build Path → Configure Build ...
- 如何添加、删除、合并PDF文件里的页面?
使用Adobe Acrobat. Adobe中文官网http://www.adobe.com/cn/products/acrobat.html 能够自己下载破解版. watermark/2/text/ ...
- 更改系统环境设置,让alias永远生效
alias(中文称为“别名”)允许使用更加简短的名称来重新定义 Linux 中的 Shell 命令,从而简化命令行的输入.如果经常与 CLI 打交道,那么使用 alias 不仅会节省时间,而且 ...
- LibShortText 怎么处理中文文档
LibShortText 是林智仁老师继 libsvm.liblinear 之后的另一力作,主要有几大特征: It is more efficient than general text-mining ...