hdu2066 一个人的旅行 floyd
Problem Description
虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历,还可以看美丽的风景……草儿想去很多地方,她想要去东京铁塔看夜景,去威尼斯看电影,去阳明山上看海芋,去纽约纯粹看雪景,去巴黎喝咖啡写信,去北京探望孟姜女……眼看寒假就快到了,这么一大段时间,可不能浪费啊,一定要给自己好好的放个假,可是也不能荒废了训练啊,所以草儿决定在要在最短的时间去一个自己想去的地方!因为草儿的家在一个小镇上,没有火车经过,所以她只能去邻近的城市坐火车(好可怜啊~)。
Input
输入数据有多组,每组的第一行是三个整数T,S和D,表示有T条路,和草儿家相邻的城市的有S个,草儿想去的地方有D个;
接着有T行,每行有三个整数a,b,time,表示a,b城市之间的车程是time小时;(1=<(a,b)<=1000;a,b 之间可能有多条路)
接着的第T+1行有S个数,表示和草儿家相连的城市;
接着的第T+2行有D个数,表示草儿想去地方。
Output
输出草儿能去某个喜欢的城市的最短时间。
Sample Input
6 2 3
1 3 5
1 4 7
2 8 12
3 8 4
4 9 12
9 10 2
1 2
8 9 10
Sample Output
9
原题链接
这题太恶心了,记录的n一定要加1,数组一定要开大一位,是从1开始的,因为没注意这个,没取n等号,WA了几个小时。另外,Floyd剪枝一个for的判断就可以c++过了
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<iostream>
using namespace std;
typedef long long ll;ll T,S,D;
int n,a,b,c;int dp[1010][1010];
int A[1010];
int B[1010];#define INF 0x3f3f3f3fint floyd() {for(int k=1;k<=n;k++)for(int i=1;i<=n;i++)if(dp[i][k]!=INF)for(int j=1;j<=n;j++)if(dp[i][j] > dp[i][k] + dp[k][j])dp[i][j] = dp[i][k] + dp[k][j];int ans = INF;for(int i=0;i<=S;i++)for(int j=0;j<D;j++)ans = min(ans, dp[A[i]][B[j]]);return ans;
}int main() { while(scanf("%lld %lld %lld",&T,&S,&D)!=EOF) {for(int i=0;i<1010;i++)for(int j=0;j<1010;j++)if(i!=j)dp[i][j] = INF;elsedp[i][j] = 0;n = 0;for(int i=0;i<T;i++) {scanf("%d%d%d",&a,&b,&c); n = max(n, max(a, b));if(c<dp[a][b])dp[a][b] = dp[b][a] = c;}for(int i=0;i<S;i++)cin>>A[i];for(int i=0;i<D;i++)cin>>B[i];printf("%d\n",floyd());}return 0;
}
hdu2066 一个人的旅行 floyd相关推荐
- HDU2066 一个人的旅行【最短路径+Floyd算法】
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- HDU-2066 一个人的旅行
HDU-2066 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) P ...
- hdu2066一个人的旅行(disjkstra)
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU2066一个人的旅行(dijkstra)
一开始拿到这个题感觉floyd可能会超,还是写了写,果然1WA+1TLE,之后觉得用dijkstra试试看看S和D会不会比较小,还是1WA+1TLE,最后还是借鉴了别人的做法. 把他的家作为起点,与他 ...
- HDU2066一个人的旅行(SPFA)
问题描述 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗〜),但是草儿仍然很喜欢旅行,因为在旅途中会遇见很多人(白马王子, ^ 0 ^),很多事,还能丰富自己的阅历,还可以看美丽 ...
- HDU2066一个人的旅行---(多起点多终点最短路径)
http://acm.hdu.edu.cn/showproblem.php?pid=2066 一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memo ...
- 【算法】最短路径--Hdu2066 一个人的旅行
一个人的旅行 Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^), ...
- HDU-2066 一个人的旅行(dijkstra)
一个人的旅行 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU2066 一个人的旅行
Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰 ...
最新文章
- 5G时代下,边缘计算产品的未来展望
- Java Web之SpringMVC 进行数据回显
- 计算机科学与控制面试说课,计算机科学与技术专业的说课.pptx
- MySQL: ERROR 1040: Too many connections”的异常情况1
- 2018 Wannafly summer camp Day3--Knight
- OpenCV+python图像处理基础操作
- VScode 透明背景设置
- 计算机打印中 进纸盘2,软件、计算机和打印机接口问题-HP.PDF
- 传感器 - 距离传感器
- 通过 JavaScript调用Asp.net(C#)后台方法
- 解决过拟合现象的六种姿势
- 家用计算机 阵列,家用电脑如何建立RAID?
- 2021春节档电影数据分析
- 用VB评估数学表达式
- simplest_ffmpeg_decoder_pure.c
- android蓝牙python,android – 使用SL4A(Python)和蓝牙
- 使用icacls命令设置目录及其子目录、文件的所有权限
- [世界杯] 巴西 vs 克罗地亚 1:0
- 转载:KOF97坂琦良心得
- Jquery中把一段html代码动态写入到DIV中(简单实例)
热门文章
- c语言 createwindow 文本框,FindWindowExA 怎么找文本框的句柄。最好有原码
- xilinx fpga学习笔记2
- 【Solidity】Solidity by Example
- 自托管Sentry文档翻译
- 苹果创始人Steve Wozniak:程序员的好奇心是与生俱来的
- H3C G3 配置raid和远程管理
- 【Python】逆向爬虫-----模拟试客联盟登录(RSA)
- tensorflow2.3实现猫狗数据集图像语义分割(一)
- 文件属修改器!(创建时间、修改时间等属性修改)
- Ardunio开发实例-TCS3200颜色传感器