POJ2431 探险 解题报告

博客介绍了POJ2431问题的解题思路,采用贪心算法解决。具体策略是按加油站离城市距离降序排序,每次在卡车能到达的加油站中选取加油量最多的一个,直至卡车能够抵达目的地。通过优先队列辅助寻找最佳加油站,若在遍历过程中发现无法使卡车到达城市,则输出-1。
摘要由CSDN通过智能技术生成
【问题描述】  
  
  一群奶牛抢了一辆卡车决定前往树林里探险。但是由于他们的驾驶技术太糟,油箱在路上弄破了,所以他们每前进一个单位的路程就会漏掉一个单位的油。为了修好油箱,奶牛们必须前往最近的城市(不会超过1000000单位路程)。在当前位置和城市之间有N个加油站,奶牛可以在加油站加1到100单位的油。 


  对于人来说,树林是危险的地方,对奶牛来说,更是这样,所以奶牛门尽可能的少停站加油,幸运的是,这辆卡车的油箱非常大,你可以认为它的容量是无限大的。卡车在离城市P单位时还有L个单位的油。 


  你要计算出奶牛们至少要停几站才能到城市,或者奶牛们根本到不了城市。
 
    
 【输入格式】  
  
  第一行一个整数N,接下来的N行,每行包含两个用空格隔开的整数,分别表示该加油站离城市的距离和最多可以加多少油。最后一行包含的两个整数为P和L。
 
    
 【输出格式】  
   
  如果卡车能到达城市,输出最少要停的次数,否则输出-1。
 
    
 【输入样例】   
   
4
4 4
5 2
11 5
15 10
25 10


 
    
 【输出样例】  
   
2
 
    
 【样例解释】  
   
  现在卡车离城市25个单位,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值