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

题目分类:SPFA算法+map容器

错误点:红色标记部分

代码

#include<bits/stdc++.h>

using namespace std;

map<string ,int> mymap;

string s1,s2,s3,s4;

int ok1,ok2;
int dis; const int INF=0x3f3f3f3f;
const int V=+;
const int E=;
int pnt[E],cost[E],nxt[E];
int e,head[V],d[V];
int temp[V][V];
bool vis[V];
int cnt[V];
int x[V];
int y[V];
int ans;
int ver;
bool ok; queue<int> que; void init()
{
e=;
memset(head,-,sizeof(head));
} inline void addedge(int u,int v,int c)
{
pnt[e]=v;
cost[e]=c;
nxt[e]=head[u];
head[u]=e++;
} int SPFA(int src,int n)
{
int i,u,v;
for(i=;i<=n;i++)
{
d[i]=INF;
cnt[i]=;
vis[i]=;
}
while(!que.empty())
que.pop();
que.push(src);
vis[src]=;
d[src]=;
++cnt[src]; while(!que.empty())
{
u=que.front();
que.pop();
vis[u]=;
for(i=head[u];i!=-;i=nxt[i])
{
v=pnt[i];
if(d[v]>d[u]+cost[i])
{
d[v]=d[u]+cost[i];
if(vis[v])
{
que.push(v);
vis[v]=;
}
}
}
}
if(d[n]==INF)
return -; return d[n];
} int main()
{
int n; while(scanf("%d",&n))
{
ok=;
int k=;
if(n==-) break;
cin>>s1>>s2;
int m = n;
init();
mymap.clear();
mymap.insert(map
<string,int>::value_type(s1,1));
mymap.insert(map<string,int>::value_type(s2,2));
while(m--)
{ cin>>s3>>s4>>dis;
if(mymap.find(s3) == mymap.end())
{
k++;
mymap.insert(map<string,int>::value_type(s3,k));
}
if(mymap.find(s4) == mymap.end())
{
k++;
mymap.insert(map<string,int>::value_type(s4,k));
}
addedge(mymap[s3],mymap[s4],dis);
addedge(mymap[s4],mymap[s3],dis);
//cout<<mymap[s3]<<endl;
} if(s1==s2)
{
ok=1;
}
else
{
SPFA(,n);
}
if(ok) printf("0\n");
else if(d[2]==INF) printf("-1\n");
else printf("%d\n",d[]);
}
return ;
}

hdu2112 HDU Today的更多相关文章

  1. HDU2112 HDU Today 最短路+字符串哈希

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

  2. hdu2112(HDU Today 简单最短路)

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

  3. Hdu-2112 HDU Today (单源多点最短路——Dijsktra算法)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 题目大意:给你N个公交车站,起点,终点,各站之间的距离,求起点到终点之间的最短距离.(起点终点相 ...

  4. hdu-2112 HDU Today---dijkstra+标号

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2112. 题目大意: 求起点到终点的最短路 解题思路: 对地名进行编号即可 然后直接dijkstra算 ...

  5. hdu2112 HDU Today 基础最短路

    这题的关键是把车站的名字转化为点的编号.我用的是map.声明一个map<string,int> st,然后按照字符串出现的次序给st赋值.例如:st[s1]=2;代表这字符串s1出现的次序 ...

  6. HDU Tody HDU2112

    不想用floyd了 也不一定适合  floyd只能处理小数据 dijkstra算法 wa了很久   一个是dijkstra里面的u   导致RE了无数次   下标溢出 还有就是注意细节  当起点和终点 ...

  7. HDOJ 2111. Saving HDU 贪心 结构体排序

    Saving HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  8. 【HDU 3037】Saving Beans Lucas定理模板

    http://acm.hdu.edu.cn/showproblem.php?pid=3037 Lucas定理模板. 现在才写,noip滚粗前兆QAQ #include<cstdio> #i ...

  9. hdu 4859 海岸线 Bestcoder Round 1

    http://acm.hdu.edu.cn/showproblem.php?pid=4859 题目大意: 在一个矩形周围都是海,这个矩形中有陆地,深海和浅海.浅海是可以填成陆地的. 求最多有多少条方格 ...

随机推荐

  1. php Smarty模板引擎配置与测试

    Smarty简介 smarty是一个使用PHP写出来的模板PHP模板引擎,它提供了逻辑与外在内容的分离,简单的讲,目的就是要使用PHP程序员同美工分离,使用的程序员改变程序的逻辑内容不会影响到美工的页 ...

  2. c++11 新特性之 autokeyword

    C++11是对眼下C++语言的扩展和修正.C++11包含大量的新特性:包含lambda表达式,类型推导keywordauto.decltype,和模板的大量改进. g++编译c++11命令加上 -st ...

  3. 如何灵活使用 ActionBar, Google 音乐ActionBar 隐藏和显示效果

    ActionBar 的历史这里就不介绍了,相信大家都清楚:在一个 app 中,如果 ActionBar 运用的好,那么将会省去大量的代码,而且整个 app 效果也相当不错,大家有兴趣可以下载 goog ...

  4. android Gallery滑动不流畅的解决

    import android.content.Context; import android.util.AttributeSet; import android.view.KeyEvent; impo ...

  5. 字符设备驱动[深入]:linux cdev详解

    linux cdev详解  http://blog.chinaunix.net/uid-24517893-id-161446.html 用cdev_add添加字符设备驱动: //linux2.6中用c ...

  6. 平均时间复杂度为O(nlogn)的排序算法

    本文包括 1.快速排序 2.归并排序 3.堆排序 1.快速排序 快速排序的基本思想是:采取分而治之的思想,把大的拆分为小的,每一趟排序,把比选定值小的数字放在它的左边,比它大的值放在右边:重复以上步骤 ...

  7. MVCC浅析(转)

    在并发读写数据库时,读操作可能会不一致的数据(脏读).为了避免这种情况,需要实现数据库的并发访问控制,最简单的方式就是加锁访问.由于,加锁会将读写操作串行化,所以不会出现不一致的状态.但是,读操作会被 ...

  8. 使用boost中的property_tree实现配置文件

    property_tree是专为配置文件而写,支持xml,ini和json格式文件   ini比较简单,适合简单的配置,通常可能需要保存数组,这时xml是个不错的选择.   使用property_tr ...

  9. 摘记:IIS长时间任务超时处理

    1.如果是在客户端调用Webservice,首先设置客户端超时, SoapHttpClientProtocol.Timeout = 3600 * 1000;//单位为秒,这是设置了一个小时 2.如果站 ...

  10. Silverlight技术调查(1)——Html向Silverlight传参

    原文 Silverlight技术调查(1)——Html向Silverlight传参 近几日项目研究一个很牛的富文档编辑器DXperience RichEdit组件,调查环境为Silverlight4. ...