不想用floyd了 也不一定适合  floyd只能处理小数据

dijkstra算法

wa了很久   一个是dijkstra里面的u   导致RE了无数次   下标溢出

还有就是注意细节  当起点和终点是一个地方的时候  输出0

#include<iostream>
#include<map>
#include<cstdio>
#include<cstring>
#include<string>
using namespace std;
#define INF 99999999
int m1[][];
map<string,long long>ma;
int dis[];
int vis[];int c; void di()
{ memset(vis,,sizeof(vis));
for(int i=;i<=c;i++)
dis[i]=m1[][i];
vis[]=;
for(int i=;i<c-;i++)
{
int minn=INF;
int u;
for(int j=;j<=c;j++)
{
if(vis[j]==&&dis[j]<minn)
{
u=j;
minn=dis[j]; } }
vis[u]=;
for(int j=;j<=c;j++)
{
if(vis[j]==&&dis[u]+m1[u][j]<dis[j])
{
dis[j]=dis[u]+m1[u][j];
} } } } int main()
{
int n; while(scanf("%d",&n)==&&n!=-)
{ c=;
ma.clear();
string s1,s2;
int ok=;
cin>>s1>>s2;if(s1==s2){ok=;}
ma[s1]=++c;
ma[s2]=++c;
int time1; for(int i=;i<=;i++)
for(int j=;j<=;j++)
{
if(i==j)m1[i][j]=;
else m1[i][j]=INF; } while(n--)
{
cin>>s1>>s2>>time1;
if(ma[s1]==)ma[s1]=++c;
if(ma[s2]==)ma[s2]=++c;
if(time1<m1[ ma[s1] ][ ma[s2] ])
{
m1[ ma[s1] ][ ma[s2] ]=m1[ ma[s2] ][ ma[s1] ]=time1; } } di(); if(!ok)printf("0\n");
else {
if(dis[]!=INF)
printf("%d\n",dis[]);
else
printf("-1\n");
} } return ;
}

HDU Tody HDU2112的更多相关文章

  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. hdu2112 HDU Today

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 题目分类:SPFA算法+map容器 错误点:红色标记部分 代码: #include<bit ...

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

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

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

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

  6. hdu2112 HDU Today 基础最短路

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

  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. u-boot移植(十三)---代码修改---裁剪及环境变量 二

    一.错误处理 上一节遇到一个错误: print一下: 发现我们在jz2440.h中静态写的网络参数都没有写进去. dm9000 address not set. dm9000的地址未设置. 这里对应两 ...

  2. Eclipse通用设置

    分类 Eclipse分为64位.32位,安装版.免安装版 查看Eclipse版本信息 Help - About Eclipse - Installation Details

  3. 卷积神经网络(CNN)学习笔记1:基础入门

    卷积神经网络(CNN)学习笔记1:基础入门 Posted on 2016-03-01   |   In Machine Learning  |   9 Comments  |   14935  Vie ...

  4. 爬虫之验证码IP攻防心得——小总结

    小前言: 一般来说,现在很多平台注册.登录的时候会涉及到验证码,这样做的目的是为了防止恶意程序恶意访问,从而给服务器造成一定的压力,会浪费一定的资源,大家也都知道,现在这种短信平台,邮箱平台等都是收费 ...

  5. Jetson tk1 安装 Intel 7260 无线网卡驱动

    Jseton TK1上没有集成的无线网卡,开发板上有一个mini pci-e接口,可以插入Intel 7260这款继承了wifi和蓝牙功能的无线网卡: 该网卡实物如下图,在淘宝和Amazon上都可以买 ...

  6. Jetson tk1 安装 usbtoserials 驱动(重新刷机)

    一.tk1驱动包,文件系统和源码下载 截止2016年9月1号,tk1最版本为R21.5. (以下三个文件放在同一个文件夹下) 1.driver package(驱动包,相当于安装程序) https:/ ...

  7. SpringMVC使用Hession发布远程服务

    (1)三个项目,Api(存放提供者和消费者共有的xx,例如实体类以及服务接口等等).Service(服务提供者).Provider(服务消费者) Api部分代码 package cn.coreqi.e ...

  8. linux学习笔记1——指令的基本格式及基本文件操作

    从今天开始就正式踏上了linux的学习历程.linux作为绝大多数服务器采用的操作系统,是每个开发人员都非常有必要掌握的操作系统.初学时,我没有直接在电脑上安装linux操作系统,而是采用了虚拟机的方 ...

  9. /etc/profile 路径出错后相关的命令失效解决方式

    关于 Linux 的配置文件 /etc/profile 路径出错后相关的命令失效解决方式(如:ls,vi不能用) 今天学习LINUX 下配置jdk 和安装tomcat 通过VI编辑/etc/profi ...

  10. 蓝牙HID协议笔记【转】

    蓝牙HID协议笔记 转自:http://blog.sina.com.cn/s/blog_69b5d2a50101emll.html 1.概述     The Human Interface Devic ...