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 ...
随机推荐
- ASP .Net Core系统部署到SUSE 16 Linux Enterprise Server 12 SP2 64 具体方案
.Net Core 部署到 SUSE 16 Linux Enterprise Server 12 SP2 64 位中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk ...
- P1183 多边形的面积
一道睡论数论题 其实是AC300祭才做的水题 题意: 很直白的的题意啊,就是求任意一个多边形的面积 所以我们来安利一下一个求多边形面积的数学通式: 给定多边形的顶点坐标(有序),让你来求这个多边形的面 ...
- (三)HttpClient 抓取图片
第一节: HttpClient 抓取图片 这里pom.xml需要用到io输入输出: <dependency> <groupId>commons-io</groupId&g ...
- vue.js学习 自定义过滤器使用(2)
gitHub地址: https://github.com/lily1010/vue_learn/tree/master/lesson05 一 自定义过滤器(注册在Vue全局) 注意事项: (1)全局方 ...
- PHP性能调优---php-fpm中启用慢日志配置(用于检测执行较慢的PHP脚本)
虽然通过nginx accesslog可以记录用户访问某个接口或者网页所消耗的时间,但是不能清晰地追踪到具体哪个位置或者说函数慢,所以通过php-fpm慢日志,slowlog设置可以让我们很好的看见哪 ...
- Newtonsoft.Json 序列化器的重写
public class TestConverter : JsonConverter { public override void WriteJson(JsonWriter writer, objec ...
- Zabbix监控实例
本节内容: zabbix web添加主机 定义Items 创建graph 创建template 一.zabbix web添加主机 1. 进入zabbix web界面,点击配置—>主机—>创 ...
- CCF CSP 201709-2 公共钥匙盒
CCF计算机职业资格认证考试题解系列文章为meelo原创,请务必以链接形式注明本文地址 CCF CSP 201709-2 公共钥匙盒 问题描述 有一个学校的老师共用N个教室,按照规定,所有的钥匙都必须 ...
- tidb 记录文档
ansible-playbook stop.yml / start.yml 重启集群,在ansible目录下执行 SHOW STATS_META; 查看统计信息 重启集群:ansible-play ...
- Spark(五)Spark任务提交方式和执行流程
一.Spark中的基本概念 (1)Application:表示你的应用程序 (2)Driver:表示main()函数,创建SparkContext.由SparkContext负责与ClusterMan ...