hdoj2066

hdoj 2066 一个人的旅行 【多源多汇最短路】 题目:hdoj 2066 一个人的旅行 方法:缩点 + 最短路 分析:看了大神的一篇博客,讲冗余压缩的,然后就想找一个多源最短路练练手。 这个题目就是典型的多源多汇最短路 方法:把所有的源点压缩成一个点,然后汇点压缩成一个点,然后跑最短路 注意: 1:求最短路的时候邻接表存储有重边不影响结果。 2:此题有重边。 3:要特殊处理源点和汇点是同一个点的情况。为0 阅读详情

一个人的旅行

                                                                              Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)


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
 

Author
Grass
 

Source
 

Recommend
lcy
#include<stdio.h>

#define size 1001
#define inf 100000000

int t,s,d;

int max;

int a;
int b;
int c;

int map[size][size];
int city[size];
int destination[size];

int dist[size];
int visit[size];

int dijkstra(int v)
{
    int min;
    int dir;
    for(int i=0;i<=max;i++){
        visit[i]=0;
        dist[i]=map[v][i];
    }
    dist[v]=0;
    visit[v]=1;
    for(int i=0;i<=max;i++){
        min=inf;
        for(int j=0;j<=max;j++)
            if(min>dist[j]&&!visit[j]){
                min=dist[j];
                dir=j;
            }
        if(min==inf)
            break;
        visit[dir]=1;
        for(int j=0;j<=max;j++)
            if(dist[j]>dist[dir]+map[dir][j]&&!visit[j])
                dist[j]=dist[dir]+map[dir][j];
    }
    min=inf;
    for(int i=0;i<d;i++)
        if(min>dist[destination[i]])
            min=dist[destination[i]];
    return min;
}
int main(void)
{
    int min;
    while(scanf("%d%d%d",&t,&s,&d)!=EOF){
        for(int i=0;i<size;i++)
            for(int j=0;j<size;j++)
                map[i][j]=inf;
        max=0;
        for(int i=0;i<t;i++){
            scanf("%d%d%d",&a,&b,&c);
            if(map[a][b]>c)
                map[a][b]=map[b][a]=c;
            if(max<a)
                max=a;
            if(max<b)
                max=b;
        }
        for(int i=0;i<s;i++)
            scanf("%d",&city[i]);
        for(int i=0;i<d;i++)
            scanf("%d",&destination[i]);
        min=inf;
        for(int i=0;i<s;i++)
            if(min>dijkstra(city[i]))
                min=dijkstra(city[i]);
        printf("%d\n",min);
    }
    return 0;
}


hdoj2066最短路 c语言 最短路 是hdoj上的一个最短路问题,写的很牛 立即下载

相关推荐

SSL证书验证:VMware Horizon Client的安全隐患与临时解决方案

本文深入分析了VMware Horizon Client中SSL证书验证失败的安全隐患,提供了临时解决方案与长期防御策略。针对自签名证书、证书链断裂等常见问题,文章详细解析了风险成因,并给出分级响应方案,帮助企业平衡安全与效率。通过实战案例和自动化脚本,指导IT管理员构建主动防御体系,有效降低中间人攻击风险。

weixin_29290863的博客 337

HDOJ -- 2066 一个人的旅行

一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然还会在校园里迷路的人,汗~),但是草儿仍然很喜欢旅行,因为在旅途中 会遇见很多人(白马王子,^0^),很多事,还能丰富自己的阅历

ah_yeah 516

STM32无线遥控小车的设计

基于SPI通信的无线摇杆小车的设计

weixin_69414084的博客 2928

HDOJ 题目2066一个人的旅行(最短路径,Floyd)

一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 19207    Accepted Submission(s): 6722 Problem Description 虽然草儿是个路痴(就是在杭电待了一年多,居然

Jogging_Clown 713

机械臂视觉抓取避坑指南:如何正确计算手眼标定矩阵(附Numpy代码)

本文详细解析了机械臂视觉抓取中手眼标定矩阵的计算方法,特别针对'眼在手上'配置下的常见错误提供了解决方案。通过Numpy代码示例和坐标转换原理,帮助开发者避免矩阵计算错误和坐标转换偏差,提升工业自动化系统的精度和效率。

weixin_29081703的博客 243

单机多环境部署apollo 2.3.0

理解apollo的整体架构后,对比nacos配置中心功能点,其设计的复杂度以及完整度相较nacos而言更为丰富 对于不同的环境,例如 FAT, PRO 在部署时进程已经完全物理隔离,并且每个环境config/adminservice依赖的数据也完全物理隔离(连接不同的db),在数据隔离与安全方面做的很完善,但同时也提升了架构的复杂度 而 portal 可以管理多个环境,单节点部署虽然有单点问题,但并不会影响业务从configservice读取配置, 挂掉只要重启就可以,只是在

Life is a starting point everywhere 1299

hdoj-2066 一个人的旅行【最短路径--dijkstra&&spfa&&floyd】

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2066 解题思路: 把城市a,b看成起点和终点,time看成两者之间的距离      从而转化成最短路径问题 该题中有多个起点终点    求出每个起点到每个终点的最短路径   取在这些最短路径中的最小值 注意:本题没有给出城镇的个数n  但floyd中刻画第几个节点时会用到    所以需要自己去找

Just do it 809

把浮点数这件小事讲清楚:ABAP 7.51 里 Open SQL 与 ABAP CDS 的 FLTP 新玩法与避坑指南

ABAP浮点数计算的风险与应对 摘要:ABAP项目中的浮点数(FLTP)在跨平台计算时存在误差风险,同一逻辑在不同数据库平台可能产生细微差异。ABAP 7.51新增了两项关键能力:1)Open SQL和ABAP CDS中可为AVG函数指定结果类型,避免默认返回FLTP;2)ABAP CDS提供FLTP_TO_DEC转换函数。但需注意这些转换仍可能存在平台相关差异,且FLTP_TO_DEC会截断而非四舍五入小数位。开发者在涉及金额、数量等关键业务计算时,应明确数值语义并设计容错机制。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 215

hdoj 2066 一个人的旅行(dijkstra)多源点多

一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 24764    Accepted Submissio

张小V 803

PyTorch深度学习项目实战100例数据集

最近很多订阅了的用户私信咨询有些数据集下载不了以及一些文章中没有给出数据集链接,为了解决这个问题,专门开设了本篇文章,提供数据集下载链接,打包100例的所有数据集。本专栏适用人群:深度学习初学者,专栏将具体讲解如何快速搭建深度学习模型用自己的数据集实现深度学习小项目。 本专栏整理了《PyTorch深度学习项目实战100例》,内包含了各种不同的深度学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码+数据集。

优快云 精品推荐 2万+

整理 钢琴 铃木钢琴教程(铃木)

铃木钢琴 超清PDF

TS的博客 1215

HDOJ 2066

无脑dijkstra, 转问题为单源再处理(稀疏图用邻接表才是最优处理方式) #include #include int dist[1001]; char k[1001]; int g[1001][1001]; int main() { int t, s, d; int a, b, time; int i; int c; int e; int next; int m

埋vizee的墓 1048

《囚徒健身》 六艺,十式

文章目录《囚徒健身》 六艺,十式1、六艺,十式2、优缺点3、手臂和上半身 《囚徒健身》 六艺,十式 1、六艺,十式 1、俯卧撑: 2、深蹲: 3、举腿: 4、引体向上: 5、桥: 6、倒立撑: 十式就是每个动作分拆为十个不同的动作等级,进行训练 每一式里面,又根据做的组数和个数,分成三层,初级,中级,高级 依次循序渐进,每完成上一个动作的高级,则向下一个动作前进 2、优缺点 优点 : 六个动作都是很常见的,日常的动作,不太需要依赖什么器械,随时随地都可以练习,很方便 这些动作可以覆盖到全身大部分

简简单单Onlinezuozuo 4564

HDOJ-2066 解题报告

HDOJ 2066 解题报告

dylan20307002的博客 312

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

hdoj-2066

一个人的旅行 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 32437    Accepted Submission(s): 11173 Problem Description 虽然草儿是个路痴(就是在杭电待了一

有梦的博客 672

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

hdoj2066在做一次

#include"iostream" using namespace std; const int vex=2000; const int maxl=999999; void dijkstra(int n,int v,int *dist,int c[][vex]) { int i,j; int s[vex]; for(i=1;i<=n;i++) { dist[i]=c[v][i];

不要挡住我的阳光 388

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

hdoj 2066一个人的旅行

这题最重要的就是设置一个超级原点,即他的城镇,然后连接超级原点到相邻的城市的距离为0 ,接下来就是套用模板了,哦,对了,要优化一下,不然貌似数据蛮大的, View Code 1 #include"stdio.h" 2 #include"math.h" 3 #include"string.h" 4 #define maxn 0x7ffffff 5 6 int map[1001...

155

hdu 2066 一个人的旅行

hdu  2066  一个人的旅行              题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2066 最短路 Dijstra 题目分析:求最短路,用dijstra就能做。此题中稍有拐弯的地方是,起止点都不唯一,找最短,应分别分析起止。起点不唯一(不符单源),可以将各起点存为数组,分别求解找最短,亦可构造单源,另设源点(比如设为0,

slicer的技术交流栈 723

HDOJ 2066 一个人的旅游

一个人的旅游,还是dijkstra,不过记得构造小草编号为0到邻接城市的边长度为0。 代码 #include using namespace std; const int INF=0x7fffffff; int dist[2005],map[2005][2005]; bool visit[2005]; int n; void init() { int i,j; for( i

Peanuts_D 1257

hdoj 2066 一个人的旅行 (最短路)

http://acm.hdu.edu.cn/showproblem.php?pid=2066 11页竟然有图论题。。。 一遍dijkstra就可以,可以把家看成0城市,与家相邻的城市和家的连边权都是0,跑一遍dijkstra比较一波即可。 比较烦人的是要注意这里没给城市数,城市的编号也不是连续的。。。 #include &amp;lt;iostream&amp;gt; #include &amp;lt;cstdi...

sdxtcqs的博客 281

ACM HDOJ 2066 (一个人的旅行)

题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=2066 思路 添加超级始点和超级终点,求超级始点到超级终点的最短路 程序一 dijkstra 算法 import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(S

陈青杨 1228

一个人的旅行 hdu 2066

/**************** * Author:fisty * Data:2014-10-19 * hdu 2066 * 最短路 ***************/ #include #include #include using namespace std; #define MAX_N 1111 #define INF 0x3f3f3f3f int T,S,D; int m

fisty 534
上一篇: hdoj1874
下一篇: hdoj2112
lulining
博客等级 码龄15年 8粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值