“Bus Pass(公交车通票),ZOJ2913”的一种解法

本文介绍了一种寻找公交通票最优购买策略的方法。通过广度优先搜索(BFS)算法,计算从各公交线路起点到所有可达区域的距离,进而确定使所有线路免费所需的最低星形阈值及最佳中心区域。

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

一、题目

1.1题目编号:ZOJ2913

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2913

(注:今天是2016/6/25,最近三周,ZOJ似乎都登录不了,本程序未经ZOJ测试!)


1.2题目描述:

你乘坐公共汽车途经一些地区,旅程费用为每张车票费用的总和。因此,你想知道如果买通票的话是否要优惠一些。

你的国家的公交系统按如下方式运转:当你买一张公共汽车通票时,你必须指定一个中心地区,以及一个星形阈值;当你持通票在某个地区乘坐公共汽车时,只要该地区离中心地区的距离(并不是路程的距离,而是路程上地区数目)小于星形阈值,则可以免费乘坐。例如,如果你选择的星形阈值为1,则你只能在中心地区免费乘坐公交汽车;如果你选择的星形阈值为2,则在中心地区及与中心地区相邻的地区里都可以免费乘坐公交汽车;等等。你列出了你经常要乘坐的公交线路,你希望能确定一个最小的星形阈值,使得所有的公交线路在通票范围内都是免费的。但这并不是一件容易的工作。例如,下图所示的地区分布图:


你想乘坐公交车从A 到B,以及从B 到D。则最好的中心地区编号为7400,这样你需要选择的阈值为最小值4。注意,在你的公交线路中并不需要途经你选择的中心地区。

 

1.3输入描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值