题目链接:HDU Today

立即集训要開始,抓紧时间练练手,最短路的基础题,第一次用STL的map

题目非常水,可是错了N遍。手贱了。本题不优点理的就是把地名转化为数字

#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <map>
#define N 155
#define INF 1e7
using namespace std; int m[N][N],dis[N];
int vis[N];
int edge,n;
int Djistra()
{
for(int i = 0;i<=edge;i++)
{
vis[i] = 0;
dis[i] = m[1][i];
}
vis[1] = 1;
dis[1] = 0;
int u,mi;
for(int i = 1;i<=edge;i++)
{
u = 1; mi = INF;
for(int j = 1;j<=edge;j++)
{
if(!vis[j] && dis[j]<mi)
{
u = j;
mi = dis[j];
}
}
vis[u] = 1;
for(int j = 1;j<=edge;j++)
{
if(!vis[j] && m[u][j] < INF && dis[u] + m[u][j] < dis[j])
{
dis[j] = dis[u] + m[u][j];
}
}
}
return dis[2];
} /*int Floyd()
{
for(int k=1;k<edge;k++)
for(int i=1;i<edge;i++)
{
for(int j=1;j<edge;j++)
if(m[i][j]>m[i][k]+m[k][j])
m[i][j]=m[i][k]+m[k][j];
}
return m[1][2];
}*/
int main()
{
char s[32],e[32];
int w;
map<string,int>ma;
while(scanf("%d",&n)!=EOF)
{
if(n==-1) break;
int st = 0;
ma.clear();
scanf("%s%s",s,e);
if(strcmp(s,e)==0) //这个地方别家continue,后台还没输数据呢
st = 1; for(int i = 0;i<N;i++)
{
for(int j = 0;j<N;j++)
{
if(i==j)
m[i][j] = 0;
else
m[i][j] = INF;
}
}
ma[s] = 1; ma[e] = 2;
edge = 3;
for(int i = 0;i<n;i++)
{
scanf("%s%s%d",s,e,&w);
if(ma[s]==0) ma[s] = edge++;
if(ma[e]==0) ma[e] = edge++;
if(w < m[ma[s]][ma[e]])
{ m[ma[s]][ma[e]] = w;
m[ma[e]][ma[s]] = w;
}
}
if(st==1)
{
printf("0\n");
continue;
}
int sum = Djistra();
if(sum<INF)
printf("%d\n",sum);
else
printf("-1\n");
}
return 0;
}

一位ACMer,是这样处理 字符转化数字。挺不错的

char str1[10005][40],str2[10005][40],str[10005][40];
int judge(char *p)
{
for(int i = 1;i<=f;++i)
if(!strcmp(str[i],p))
return i;
strcpy(str[++f],p);
return f;
}
for(int i = 1;i<=n;++i)
scanf("%s%s%d",str1[i],str2[i],&str3[i]);
for(int i = 1;i<=n;++i)
{
int x = judge(str1[i]);
int y = judge(str2[i]);
map[x][y] = map[y][x] = str3[i];
}

HDU 2112 HDU Today(STL MAP + Djistra)的更多相关文章

  1. HDU——2723Electronic Document Security(STL map嵌套set做法)

    Electronic Document Security Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  2. HDU 2094 产生冠军(STL map)

    产生冠军 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submis ...

  3. hdu 4393 Throw nails(STL之优先队列)

    Problem Description The annual school bicycle contest started. ZL is a student in this school. He is ...

  4. 2018 ICPC 徐州网络预赛 Features Track (STL map pair)

    [传送门]https://nanti.jisuanke.com/t/31458 [题目大意]有N个帧,每帧有K个动作特征,每个特征用一个向量表示(x,y).两个特征相同当且仅当他们在不同的帧中出现且向 ...

  5. HDU 3567 Eight II(八数码 II)

    HDU 3567 Eight II(八数码 II) /65536 K (Java/Others)   Problem Description - 题目描述 Eight-puzzle, which is ...

  6. HDU 2457 DNA repair(AC自动机+DP)题解

    题意:给你几个模式串,问你主串最少改几个字符能够使主串不包含模式串 思路:从昨天中午开始研究,研究到现在终于看懂了.既然是多模匹配,我们是要用到AC自动机的.我们把主串放到AC自动机上跑,并保证不出现 ...

  7. HDU 5723 Abandoned country(落后渣国)

    HDU 5723 Abandoned country(落后渣国) Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 65536/65536 ...

  8. HDU 3016 Man Down (线段树+dp)

    HDU 3016 Man Down (线段树+dp) Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Ja ...

  9. HDU 3400 Line belt (三分再三分)

    HDU 3400 Line belt (三分再三分) ACM 题目地址:  pid=3400" target="_blank" style="color:rgb ...

随机推荐

  1. codeforce div2 426 D. The Bakery

    D. The Bakery time limit per test 2.5 seconds memory limit per test 256 megabytes input standard inp ...

  2. 【BZOJ1299】巧克力棒(Nim游戏,SG函数)

    题意:TBL和X用巧克力棒玩游戏.每次一人可以从盒子里取出若干条巧克力棒,或是将一根取出的巧克力棒吃掉正整数长度. TBL先手两人轮流,无法操作的人输. 他们以最佳策略一共进行了10轮(每次一盒).你 ...

  3. PNG图片透明 IE6 解决方法

    原文发布时间为:2009-11-18 -- 来源于本人的百度文章 [由搬家工具导入] png透明解决办法 第1 种方法:定义一个样式,给某个div应用这个样式后,div的透明png背景图片自动透明了。 ...

  4. jquery bind event, use on. $(document).on("click","#a",function(){alert(1)}) [#document]

    $(document).on("click","#a",function(){alert(1)}) [#document] as a replacement o ...

  5. 调试UPX压缩的notepad

    @date: 2016/11/29 @author: dlive 0x01 运行时压缩 对比upx压缩前后的notepad可以看到如下特点 PE头的大小一样 节区名称改变(.text -> .U ...

  6. 让你的qstardict读单词

    作为编程行当的人员,英语是躲不掉的,很多资料英文更加有效,字典就显得尤为重要,我希望字典不但能查到中文意思,还能发生,那就跟我来吧: 一.安装字典程序: pacman -S qstartdic sox ...

  7. 在 IntelliJ IDEA 中配置 JSF 开发环境的入门详解

    JSF 作为 JavaEE 官方标准,在了解并掌握其基本开发技术后,对于功能要求较高.业务流程复杂的各种现代 Web 应用程序开发将会成为非常合适且强大的高效率开发利器.JSF 的开发环境搭建涉及到在 ...

  8. NOIP 2016 天天爱跑步 80分暴力

    题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做<天天爱跑步>的游戏.«天天爱跑步»是一个养成类游戏,需要玩家每天按时上线,完成打卡任务. 这个游戏的地图可以看作一一棵包含 个结点 ...

  9. Cryptography I 学习笔记 --- 分组密码

    1. 伪随机置换(PRF,Rseudo Random Permutaion)3DES/AES,K*X -> X(a. 可以高效计算,b. PRF函数是一个一一映射的函数,c. 存在有效的逆向算法 ...

  10. ()centos6.8安装配置ftp服务器

    ftp传输原理 客户端通过某软件用某个端口(a端口)向服务端发起tcp连接请求,同时告诉服务端客户端另一个空闲端口号(b端口),服务端用21端口与客户端建立一条控制连接通道. 接着在默认情况下,服务端 ...