POJ 2431 Expedition
2014-06-12 16:54
387 查看
链接:http://poj.org/problem?id=2431
当燃料用完后,选择经过的所有加油站中能加的油最多的..
所以,在之后需要加油时,就认为在之前经过的加油站加油就可以了..优先队列
当燃料用完后,选择经过的所有加油站中能加的油最多的..
所以,在之后需要加油时,就认为在之前经过的加油站加油就可以了..优先队列
#include <iostream> #include<queue> #include<algorithm> using namespace std; class fuel { public: int dis; int amt; }; bool cmp(fuel a,fuel b) { return a.dis<b.dis; } fuel data[10005]; int l,p,n; int solve() { data .amt=0; data .dis=l; n++; priority_queue<int> que; int i; int d,tank,pos,ans; tank=p; pos=0; ans=0; for(i=0;i<n;i++) { d=data[i].dis-pos; while(tank-d<0) { if(que.empty()) return -1; tank+=que.top(); que.pop(); ans++; } tank-=d; pos=data[i].dis; que.push(data[i].amt); } return ans; } int main() { int i; while( cin>>n) { for(i=0;i<n;i++) cin>>data[i].dis>>data[i].amt; cin>>l>>p; for(i=0;i<n;i++) data[i].dis=l-data[i].dis; sort(data,data+n,cmp); cout<<solve()<<endl; } return 0; }
相关文章推荐
- POJ 2431 Expedition 贪心 + 优先队列
- POJ 2431 Expedition(优先队列、贪心)
- POJ-2431 Expedition
- POJ - 2431 Expedition(贪心+优先列队)
- POJ 2431 Expedition (贪心+优先队列)
- poj2431 Expedition 贪心+优先队列
- poj 2431 Expedition
- POJ 2431 Expedition (贪心 + 优先队列)
- poj2431 Expedition 优先队列
- POJ 2431 Expedition
- POJ 2431 Expedition(贪心+优先队列)
- POJ 2431 Expedition
- POJ-2431 Expedition
- POJ 2431 Expedition
- POJ 2431 Expedition(优先队列)
- POJ 2431 Expedition (STL 优先权队列)
- [POJ 2431]Expedition
- POJ 2431 - Expedition(贪心)
- POJ(2431)Expedition
- POJ 2431 Expedition