题目链接:HUD-2112 HDU Today


思路:

1.最短路spfa模板.

2.map标记建图.

3.考虑距离为0或者-1的情况.

总结:下次map记得清空orz。

AC代码:

 #include<cstdio>
#include<map>
#include<iostream>
#include<queue>
using namespace std;
const int INF = 0x3f3f3f3f;
const int maxn = ;
int Map[maxn][maxn];
int n;
int d[maxn];
int vis[maxn];
void spfa(int s,int n)
{
queue<int> q;
for(int i = ;i <= n;i++)
{
d[i] = INF;
vis[i] = ;
}
d[s] = ;
vis[s] = ;
q.push(s);
while(!q.empty())
{
int k = q.front();q.pop();
vis[k] = ;
for(int j = ;j <= n;j++)
{
if(d[k] + Map[k][j] < d[j])
{
d[j] = d[k] + Map[k][j];
if(!vis[j])
q.push(j),vis[j] = ;
}
}
}
}
void init()
{
for(int i = ;i <= ;i++)
{
for(int j = ;j <= i;j++)
{
if(j != i)
Map[i][j] = Map[j][i] = INF;
else Map[i][j] = ;
}
}
}
int main()
{
char a[],b[];
map<string,int> mp;
char st[],ed[];
int w;
while(~scanf("%d",&n) && n!= -)
{
init();//初始化
mp.clear();
int count = ;//用于map一对一转化;
scanf("%s%s",&a,&b);
mp[a] = ++count;
if(!mp[b]) mp[b] = ++count;//如果终点未出现过,则加入图中;
for(int i = ;i < n;i++)
{
scanf("%s %s %d",&st,&ed,&w);
if(!mp[st]) mp[st] = ++count;//检查两点是否出现过
if(!mp[ed]) mp[ed] = ++count;
int u = mp[st],v = mp[ed];
Map[u][v] = Map[v][u] = w;//建图;
}
spfa(,count);
if(d[ mp[b] ] == INF) printf("-1\n");
else printf("%d\n",d[ mp[b] ]);
}
return ;
}

HUD-2112 HDU Today(最短路map标记)的更多相关文章

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

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

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

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

  3. HDU 2112 HDU Today 最短路

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

  4. hdu 2112 (最短路+map)

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

  5. hdu 2112 HDU Today

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

  6. HDU 2112 HDU Today(Dijkstra)

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

  7. hdu 5521 最短路

    Meeting Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  8. ACM: HDU 2544 最短路-Dijkstra算法

    HDU 2544最短路 Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Descrip ...

  9. POJ 3320 尺取法,Hash,map标记

    1.POJ 3320 2.链接:http://poj.org/problem?id=3320 3.总结:尺取法,Hash,map标记 看书复习,p页书,一页有一个知识点,连续看求最少多少页看完所有知识 ...

随机推荐

  1. HDU-1873 看病要排队(队列模拟)

    看病要排队 Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Subm ...

  2. C#设计模式:命令模式(Command Pattern)

    一,什么是命令模式(Command Pattern)? 命令模式:将请求封装成命令对象,请求的具体执行由命令接收者执行: 二,如下代码 using System; using System.Colle ...

  3. ISC2016训练赛 phrackCTF--Classical CrackMe

    测试文件:https://static2.ichunqiu.com/icq/resources/fileupload/phrackCTF/REVERSE/CrackMe.rar 1.准备 获得信息 3 ...

  4. MongoDB的使用学习之(三)安装MongoDB以及一些基础操作

    原文链接:http://www.cnblogs.com/huangxincheng/archive/2012/02/18/2356595.html 此博主的 8天学通MongoDB 系列还是不错的,本 ...

  5. ASE Code Search

    重现基线模型 Hamel's model 基线模型原理 如何实现semantic search?在已有数据库的基础上,衡量一个句子和每段代码的相关性再进行排序,选出最优代码片段即可实现一个通用的cod ...

  6. Scrapy抓取jobbole数据

    1.python版本3.6.1 2.python编辑器:JetBrains PyCharm 2.安装virtualenvwrapper-win pip3 install virtualenvwrapp ...

  7. 【错误】mysql 出现 "1067 - Invalid default value for 'UPDATE_TIME' " 错误提示的解决办法

    今天工作中遇到修改表结构的时候出现错误 Invalid default value for 'UPDATE_TIME 问题原因是因为db 表中update_time的默认时间写成了 '0000-00- ...

  8. Nginx优化_定义对静态页面的缓存时间

    修改Nginx配置文件,定义对静态页面的缓存时间 proxy ]# vim /usr/local/nginx/conf/nginx.conf server { listen 80; server_na ...

  9. OGG-00303

    解决方案:因为Defgen版本不同,注释数据定义文件对应的行 *Database type:ORACLE,用*在行首注释即可

  10. man lsof

    LSOF(8)                                                                LSOF(8) NAME       lsof - lis ...