来源:
看路径记录的BFS之前,再看一遍优先队列的用法。
优先队列的排序规则可以用运算符重载的方式完成,通常意义下,应该用friend bool operator <进行重载。
#include#include #include #include 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.id; }};int main(){ int testcase; while(cin>>testcase) { int doc,level; int as=0; string op; priority_queue p[4]; hospital tmp; while(testcase--) { cin>>op; if(op=="IN") { as++; cin>>doc>>level; tmp.level=level; tmp.id=as; //cout<<"idis"< < >doc; if(p[doc].empty()) cout<<"EMPTY"<