100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 【优先队列】HDU 1873——看病找医生

【优先队列】HDU 1873——看病找医生

时间:2019-06-19 21:01:01

相关推荐

【优先队列】HDU 1873——看病找医生

来源:点击打开链接

看路径记录的BFS之前,再看一遍优先队列的用法。

优先队列的排序规则可以用运算符重载的方式完成,通常意义下,应该用friend bool operator <进行重载。

#include <iostream>#include <cstring>#include <queue>#include <string>using namespace std;class hospital{public:int level;int id;friend bool operator < (hospital c1,hospital c2){if(c1.level!=c2.level)return c1.level<c2.level;elsereturn c1.id>c2.id;}};int main(){int testcase;while(cin>>testcase){int doc,level;int as=0;string op;priority_queue<hospital> p[4];hospital tmp;while(testcase--){cin>>op;if(op=="IN"){as++;cin>>doc>>level;tmp.level=level;tmp.id=as;//cout<<"idis"<<tmp.id<<endl;p[doc].push(tmp);}else if(op=="OUT"){cin>>doc;if(p[doc].empty())cout<<"EMPTY"<<endl;else{tmp=p[doc].top();p[doc].pop();cout<<tmp.id<<endl;}}}}return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。