HUD-2112 HDU Today(最短路map标记)
题目链接: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标记)的更多相关文章
- HDU 2112 HDU Today(STL MAP + Djistra)
题目链接:HDU Today 立即集训要開始,抓紧时间练练手,最短路的基础题,第一次用STL的map 题目非常水,可是错了N遍.手贱了.本题不优点理的就是把地名转化为数字 #include <i ...
- 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 最短路
题目描述: Problem Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这 ...
- 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
题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2112 HDU Today Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的 ...
- HDU 2112 HDU Today(Dijkstra)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 HDU Today Time Limit: 15000/5000 MS (Java/Others ...
- hdu 5521 最短路
Meeting Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total ...
- ACM: HDU 2544 最短路-Dijkstra算法
HDU 2544最短路 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Descrip ...
- POJ 3320 尺取法,Hash,map标记
1.POJ 3320 2.链接:http://poj.org/problem?id=3320 3.总结:尺取法,Hash,map标记 看书复习,p页书,一页有一个知识点,连续看求最少多少页看完所有知识 ...
随机推荐
- [2019杭电多校第一场][hdu6578]Blank(dp)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6578 计数问题想到dp不过分吧... dp[i][j][k][w]为第1-i位置中4个数最后一次出现的 ...
- [BZOJ 3110] [luogu 3332] [ZJOI 2013]k大数查询(权值线段树套线段树)
[BZOJ 3110] [luogu 3332] [ZJOI 2013]k大数查询(权值线段树套线段树) 题面 原题面有点歧义,不过从样例可以看出来真正的意思 有n个位置,每个位置可以看做一个集合. ...
- Codeforces 609E (Kruskal求最小生成树+树上倍增求LCA)
题面 传送门 题目大意: 给定一个无向连通带权图G,对于每条边(u,v,w)" role="presentation" style="position: rel ...
- SQLServer查看及设置最大连接数
很多时候自己本地开发会遇到 ,打开几个连接正常访问 之后就报错误,这时候需要调整sqlserver 最大连接数. 1. 查询最大连接数 SELECT value_in_useFROM sys.conf ...
- 类的基本概念及self是什么东西?
class 类 对一类拥有相同属性的对象的抽象.蓝图.原型,在类中定义了这些对象都具备的属性.共同方法 object对象 一个对象就是一个类的实例化模型,一个类必须经过实例化后才能在程序中调用,一个类 ...
- ISC2016训练赛 phrackCTF--Classical CrackMe
测试文件:https://static2.ichunqiu.com/icq/resources/fileupload/phrackCTF/REVERSE/CrackMe.rar 1.准备 获得信息 3 ...
- Vue.js——60分钟组件快速入门(上篇)二
来源:https://www.cnblogs.com/keepfool/p/5625583.html 组件简介 组件系统是Vue.js其中一个重要的概念,它提供了一种抽象,让我们可以使用独立可复用的小 ...
- python学习笔记(7): 面向对象
class Foo: #类中的函数 def bar(self): #功能阐述 print('Bar') pass def hello(self,name): print('i am %s' %name ...
- Vue —— You may use special comments to disable some warnings. Use // eslint-disable-next-line to ignore the next line. Use /* eslint-disable */ to ignore all warnings in a file.问题
方法1: 在build/webpack.base.conf.js文件中,找到module->rules中有关eslint的规则,注释或者删除掉就可以了 module: { rules: [ // ...
- 锁、volatile、CAS的比较
一.锁 锁是一种悲观的机制.为多线程提供了互斥的访问机制.多个线程同时竞争锁时,没获得锁的线程将会被挂起(智能的JVM会根据之前获取锁操作中对锁的持有时间长短来判断是使线程挂起还是自旋) 锁的劣势:1 ...