博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU-2066 一个人的旅行
阅读量:4122 次
发布时间:2019-05-25

本文共 1841 字,大约阅读时间需要 6 分钟。

#include 
#include
#include
#include
#include
using namespace std;const int maxn = 1000 + 5;const int INF = 0xffffff;struct node{ int next; int len; int to;} edge[maxn * 10];int sign[maxn];int dis[maxn];int connect[maxn];int t, s, d, a, b, time, pos, min_time;int Start[maxn];int End[maxn];inline void add_edge(int op, int ed, int len){ edge[pos].next = connect[op]; edge[pos].len = len; edge[pos].to = ed; connect[op] = pos; pos ++;}int SPFA(int op, int ed){ queue
process; memset(sign, 0, sizeof(sign)); for(int i = 0; i < maxn; i ++) dis[i] = INF; dis[op] = 0; process.push(op); sign[op] = 1; while(!process.empty()) { int temp_op = process.front(); process.pop(); sign[temp_op] = 0; for(int i = connect[temp_op]; i != -1; i = edge[i].next) { int temp_ed = edge[i].to; int temp_len = edge[i].len; if(dis[temp_op] + temp_len < dis[temp_ed]) { dis[temp_ed] = dis[temp_op] + temp_len; if(!sign[temp_ed]) { process.push(temp_ed); sign[temp_ed] = 1; } } } } return dis[ed];}int main(){ while(~scanf("%d %d %d", & t, & s, & d)) { memset(connect, -1, sizeof(connect)); pos = 0; while(t --) { scanf("%d %d %d", & a, & b, & time); add_edge(a, b, time); add_edge(b, a, time); } for(int i = 0; i < s; i ++) scanf("%d", & Start[i]); for(int i = 0; i < d; i ++) scanf("%d", & End[i]); min_time = INF; for(int i = 0; i < s; i ++) for(int j = 0; j < d; j ++) min_time = min(min_time, SPFA(Start[i], End[j])); printf("%d\n", min_time); } return 0;}

题意:

草儿决定在要在最短的时间去一个自己想去的地方!因为草儿的家在一个小镇上,没有火车经过,所以她只能去邻近的城市坐火车。

输入数据有多组,每组的第一行是三个整数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个数,表示草儿想去地方。
输出草儿能去某个喜欢的城市的最短时间。

题解:

练习SPFA。

转载地址:http://pctpi.baihongyu.com/

你可能感兴趣的文章
DirectX11 光照演示示例Demo
查看>>
VUe+webpack构建单页router应用(一)
查看>>
Node.js-模块和包
查看>>
(python版)《剑指Offer》JZ01:二维数组中的查找
查看>>
Spring MVC中使用Thymeleaf模板引擎
查看>>
PHP 7 的五大新特性
查看>>
深入了解php底层机制
查看>>
PHP中的stdClass 【转】
查看>>
XHProf-php轻量级的性能分析工具
查看>>
OpenCV gpu模块样例注释:video_reader.cpp
查看>>
OpenCV meanshift目标跟踪总结
查看>>
就在昨天,全球 42 亿 IPv4 地址宣告耗尽!
查看>>
如果你还不了解 RTC,那我强烈建议你看看这个!
查看>>
沙雕程序员在无聊的时候,都搞出了哪些好玩的小玩意...
查看>>
Mysql复制表以及复制数据库
查看>>
Linux下SVN客户端使用教程
查看>>
Linux分区方案
查看>>
如何使用 systemd 中的定时器
查看>>
git命令速查表
查看>>
linux进程监控和自动重启的简单实现
查看>>