UVA - 1203 Argus
来源:互联网 发布:淘宝动态评分提高 编辑:程序博客网 时间:2024/06/03 23:21
题目大意:一个成为Argus的系统,支持一个Register命令: Register Q_num Period
该命令为一个祖册出发器,每Period产生一次Q_num的时间。要求模拟k个事件,如果多个事件同时发生,现处理Q_num小的。
解题思路:用优先队列维护即可,队列中按照时间小的优先,时间相同的比较Q_num,每次处理完一个时间,对应的将时间的时间加上period后放回队列中,表示下一次出发器生成的时间。
#include <cstdio>#include <queue>using namespace std;struct Item {int Q_num, Period, Time;bool operator < (const Item& a) const {return a.Time < Time || (a.Time == Time && a.Q_num < Q_num);}};int main() {char S[30];int Q_num, Period, K;priority_queue<Item> pq;Item item;while (scanf("%s", S) && S[0] != '#') {scanf("%d%d", &item.Q_num, &item.Period);item.Time = item.Period;pq.push(item);}scanf("%d", &K);while (K--) {item = pq.top();printf("%d\n", item.Q_num);pq.pop();item.Time += item.Period;pq.push(item);}return 0;}
0 0
- UVA 1203 - Argus
- Uva-1203-Argus
- UVA 1203 Argus
- uva 1203 Argus
- uva 1203 - Argus
- UVa 1203 Argus
- uva 1203 - Argus
- Uva 1203 Argus
- UVa 1203 - Argus
- UVA - 1203 Argus
- UVa 1203 - Argus
- UVA 1203 Argus
- 1203 - Argus uva 快排
- UVA 1203 Argus(优先队列)
- uva 1203 - Argus(优先队列)
- UVA 1203Argus【优先队列】
- uva 1203—— Argus
- UVA 1203 Argus(优先队列)
- Java 多线程实现生产者消费者问题(wait/notify)
- 从零开始学swift(一)-基础语法之Hello World实现
- 工作总结第二十七天/二十八天
- Android四种动画类使用总结
- php文件上传和下载
- UVA - 1203 Argus
- leetcode Insert Interval
- bzoj 1096: [ZJOI2007]仓库建设
- Java基础之翻转单链表
- shell学习 - awk入门
- Categories Add Methods to Existing Classes
- 输入子系统(二)
- c# UserControl 如何在父窗口中显示Scroll
- 牛顿迭代法快速寻找平方根