hdu 2112 HDU Today (floyd算法)
这道题貌似在原来学长给我们的搞的小比赛中出过!
这次又让我遇到,果断拿下!
不过方法很蠢,跑了1000多ms,虽然要求5000ms以内!
题目就是给你一些位置之间的距离,然后再让你求特定的两点之间的距离!就是个样子滴!
只不过这道题更切合实际,给你的位置是字符串!
我的处理方法是将字符串转化为数字,数字不就是我们最熟悉的了吗!嘎嘎嘎···················
#include<stdio.h>
#include<string.h>
#define MAX 1000000000000
int main()
{
__int64 map[200][200],i,j,k,n,m,r,t,s;
char str[200][200],str1[200],str2[200];
while(scanf("%I64d",&n)!=EOF&&n>0)
{
for(i=0;i<=190;i++)
for(j=0;j<=190;j++)
map[i][j]=MAX;
scanf("%s %s",str1,str2);
strcpy(str[0],str1);
strcpy(str[1],str2);
m=2;
for(j=1;j<=n;j++)
{
scanf("%s %s %I64d",str1,str2,&s);
for(i=0;i<m;i++)//转化的过程
if(strcmp(str[i],str1)==0)
{
r=i;break;
}
if(i==m)
{
strcpy(str[m],str1);
r=m;
m++;
}
for(i=0;i<m;i++)
if(strcmp(str[i],str2)==0)
{
t=i;break;
}
if(i==m)
{
strcpy(str[m],str2);
t=m;
m++;
}
if(map[r][t]>s)
{
map[r][t]=s;
map[t][r]=s;
}
}
if(strcmp(str[0],str[1])==0)//特别注意,始点与终点相同的情况!这点使我wrong了几次!哎···,当知道这个特例时我将这个if语句放在前面了,结果还是wrong了,想了好久//才明白,原来是continue直接跳过了整个循环导致后面的内容输不进来了!囧!!!
{
printf("0\n");
continue;
}
for(k=0;k<m;k++)
for(i=0;i<m;i++)
for(j=0;j<m;j++)
if(map[i][j]>map[i][k]+map[k][j])
map[i][j]=map[i][k]+map[k][j];
if(map[0][1]==MAX)
printf("-1\n");
else
printf("%I64d\n",map[0][1]);
}
return 0;
}
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112
hdu 2112 HDU Today (floyd算法)的更多相关文章
- HDU 2066 最短路floyd算法+优化
http://acm.hdu.edu.cn/showproblem.php?pid=206 题意 从任意一个邻居家出发 到达任意一个终点的 最小距离 解析 求多源最短路 我想到的是Floyd算法 但是 ...
- 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 2112 HDU Today (Dijkstra算法)
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- HDU 2112 HDU Today <SPFA算法+map函数>
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- hdu 2112 HDU Today (最短路)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 题目大意:给出起点和终点,然后算出最短的路. 不过有好多细节要注意: (1)起始点和终止点相等的 ...
- HDU 2112 HDU Today(STL MAP + Djistra)
题目链接:HDU Today 立即集训要開始,抓紧时间练练手,最短路的基础题,第一次用STL的map 题目非常水,可是错了N遍.手贱了.本题不优点理的就是把地名转化为数字 #include <i ...
- hdu 2112 HDU Today 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2112 题目意思:又是求最短路的,不过结合埋字符串来考查. 受之前1004 Let the Balloo ...
- HDU 2112 HDU Today(最短路径+map)
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
随机推荐
- JAVA中分为基本数据类型和引用数据类型区别
一.基本数据类型: byte:Java中最小的数据类型,在内存中占8位(bit),即1个字节,取值范围-128~127,默认值0 short:短整型,在内存中占16位,即2个字节,取值范围-32768 ...
- 由结构体成员地址计算结构体地址——list_entry()原理详解
#define list_entry(ptr, type, member) container_of(ptr, type, member) 在进行编程的时候,我们经常在知道结构体地址的情况下,寻找其中 ...
- LeetCode517. Super Washing Machines
You have n super washing machines on a line. Initially, each washing machine has some dresses or is ...
- 利用CE手动破解百度云下载限速!
一步,你需要打开百度云<ignore_js_op> 第二步,你需要用上面附送的工具选择百度云进程<ignore_js_op> 第三点,不多说,看图<ignore_js_o ...
- netty 并发访问测试配置
linux – 1.查看有关的选项 /sbin/sysctl -a|grep net.ipv4.tcp_tw net.ipv4.tcp_tw_reuse = 0 #表示开启重用.允许将 ...
- CCF CSP 201503-1 图像旋转
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201503-1 图像旋转 问题描述 旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆 ...
- 【Codechef】Random Number Generator(多项式除法)
题解 前置技能 1.多项式求逆 求\(f(x)\*g(x) \equiv 1 \pmod {x^{t}}\) 我们在t == 1时,有\(f[0] = frac{1}{g[0]}\) 之后呢,我们倍增 ...
- 码云Android项目构建注意事项(转载)
1.ant项目 build.xml必须位于项目根目录. 2.maven项目 pom.xml必须位于项目根目录. 3.gradle项目 由于gradle的配置灵活,我们做了一些规范,并且增加了一下机制来 ...
- java的组合和继承
其实我第一次学习java 的时候根本没有听说过组合这个名词,老师也更没有讲解过,我一直以为是我自己落掉了什么知识点,其实不是的,组合这个名词暂且把它定义为一个思维性的东西吧,相信读者都接触过了,但是并 ...
- python3之Django内置模板标签和过滤器
一.模板标签 内置标签: 1.autoescape 控制当前的自动转义行为,此标记采用on或者off作为参数,并确定自动转义是否在块内有效.该块以endautoescape结束标签关闭. views: ...