POJ2431 Expedition(排序+优先队列)

2015-07-20 17:33:30 · 作者: · 浏览: 4

思路:先把加油站按升序排列。

在经过加油站时,往优先队列里加入B[i].(每经过一个加油站时,预存储一下油量)

当油箱空时:1、如果队列为空(可以理解成预存储的油量),则无法到达下一个加油站,更无法到达目的地。

2、否则就取出队列里的最大元素,来给汽车加油(贪心思想)

#include
  
   
#include
   
     #include
    
      #include
     
       #include
      
        using namespace std; int n,l,p; int t[10005]; struct Node { int a,b; bool operator < (const Node e)const { return e.a>a; } }s[10005]; int B[10005]; int A[10005]; int main() { //freopen("d:\\test.txt","r",stdin); cin>>n; priority_queue
       
        q; for(int i=0;i
        
         >l>>p; for(int i=0;i