Argus+自定义优先队列的优先规则

题目链接:点击进入 只是题意比较难懂,读懂题后完全可以用优先队列水过去.这次学会自定义优先队列的优先规则,其实就是在结构体中重载一下<运算符.

代码如下:

;typedef struct node{int id,num;int t;< (node n1,node n2){if(n1.num==n2.num)return n1.id>n2.id;return n1.num>n2.num;}}P;P p1,p2;priority_queue<P>q;int main(){char str[20];int a,b;//freopen(“in.txt”,”r”,stdin);while(scanf(“%s”,str)){if(strcmp(str,”#”)==0) break;scanf(“%d%d”,&p1.id,&p1.num);p1.t=p1.num;q.push(p1);}int k;scanf(“%d”,&k);while(k–){p2=q.top(); q.pop();printf(“%d\n”,p2.id);p2.num+=p2.t;q.push(p2);} return 0;}

,年轻是胜利的一半。

Argus+自定义优先队列的优先规则

相关文章:

你感兴趣的文章:

标签云: