UVA1203 Argus
Posted dreagonm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA1203 Argus相关的知识,希望对你有一定的参考价值。
思路
用堆维护每个触发器的下一个事件,每次取出一个事件再把对应触发器的下一个事件加入堆即可
代码
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <queue>
#include <iostream>
#include <string>
using namespace std;
struct QNode{
int time,num,Period;
bool operator < (const QNode &b) const{
return (time==b.time)?num>b.num:time>b.time;
}
};
priority_queue<QNode> q;
int main(){
string s;
while(cin>>s&&s=="Register"){
int num,pro;
scanf("%d %d",&num,&pro);
q.push((QNode){pro,num,pro});
}
int k;
scanf("%d",&k);
for(int i=1;i<=k;i++){
printf("%d
",q.top().num);
QNode x=q.top();
q.pop();
q.push((QNode){x.time+x.Period,x.num,x.Period});
}
return 0;
}
以上是关于UVA1203 Argus的主要内容,如果未能解决你的问题,请参考以下文章
WebSocket 连接到“wss://argus.chi.shopify.io”失败:WebSocket 在连接建立之前关闭