zyf的现状 (BFS+优先队列)

本文介绍了定向越野比赛规则,其中运动员需要按顺序经过地图上的点,目标是找到理论上的最短完赛时间。通过使用BFS(广度优先搜索)算法,并结合优先队列来确保最早完成的路径被优先考虑,从而解决不同地形耗费时间不同的问题。文章提供了输入输出示例,并说明了普通队列与优先队列在此问题中的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Description

zyf对于自己人生的规划是:健康and快乐。所以他没有把全部的时间和精力投入到学习中,而是对跑步运动有着狂热的爱好。经过他的努力,终于加入了运动队,并且将在下个月代表学校参加省体育联赛。他所参加的比赛叫做定向越野,是一种新兴的运动项目,这项运动的规则(只取其中一种介绍。)是:给定运动员一张地图(定向越野专用),地图上有若干个点,并标有位置,包含起点△(以下用‘S’表示)、终点◎(以下用‘E’表示)、还有一些标有序号(1~N)的点。按照顺序 S -> 1 -> 2 -> 3 -> …… -> N -> E 依次经过,最后计算时间。之前说到zyf是一个追求完美的人,他想要知道某张地图理论上完赛的最短时间,然后和自己的成绩对比,只是他现在忙于训练,没时间去计算,你能帮助他,算出这个时间吗? 
地图及其移动时间的计算: 
‘0’代表平地,移动到平地上需要1个单位的时间; 
‘#’代表草地,移动到草地上需要2个单位的时间; 
‘T’代表围墙,移动到围墙上(含在围墙上移动),需要4个单位的时间; 
‘X’代表禁区,不可到达。 
0 0 # 0 # 0 0 
0 0 # # # # # 
0 0 # 0 0 T T 
0 0 # X X 0 # 
0 0 0 X X 0 # 
0 0 0 # # 0 # 
0 0 # # # # 0 
0 # # T T T # 
# 0 # # 0 0 # 

Input

输入数据的第一行有一个整数T,表示有T组测试数据。 
随后是各组测试数据,每组数据保证有解,每组测试数据以“*”结束。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值