看题:传送门

大意就是让你编写一个称为argus的系统,这个系统支持一个register的命令: Register  Q_num Period

该命令注册了一个触发器,它每Period秒就会残生一个编号为 Q_num的事件。你的任务就是模拟出前k个事件。如果多个事情同时发生,先处理Q_num小的事件。

优先队列的使用。

练习了用struct类自定义优先级。

#include<iostream>
#include<cstring>
#include<cstdio>
#include<queue>
using namespace std;
struct order
{
int qnum,period,time;
bool operator <(const order &a)const{
return time > a.time||(time==a.time&& qnum > a.qnum) ;
}
};
int main()
{
priority_queue<order> a;
char x[10];
while(scanf("%s",x),strcmp(x,"#"))
{
order temp;
scanf("%d%d",&temp.qnum,&temp.period);
temp.time=temp.period;
a.push(temp);
}
int k;
scanf("%d",&k);
while(k--)
{
order temp=a.top();
a.pop();
printf("%d\n",temp.qnum);
temp.time+=temp.period;
a.push(temp);
}
}

LA 3135 - Argus的更多相关文章

  1. 【暑假】[实用数据结构]UVAlive 3135 Argus

    UVAlive 3135 Argus Argus Time Limit: 3000MS   Memory Limit: Unknown   64bit IO Format: %lld & %l ...

  2. LA 3135 (优先队列) Argus

    将多个有序表合并成一个有序表就是多路归并问题,可用优先队列来解决. #include <cstdio> #include <queue> using namespace std ...

  3. (算法入门经典大赛 优先级队列)LA 3135(之前K说明)

    A data stream is a real-time, continuous, ordered sequence of items. Some examples include sensor da ...

  4. LA 3135 阿格斯(优先队列)

    https://vjudge.net/problem/UVALive-3135 题意: 你的任务是编写一个称为Argus的系统.该系统支持一个Register的命令 Register Q_num Pe ...

  5. uva11997 K Smallest Sums&&UVALive 3135 Argus(优先队列,多路归并)

    #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #inc ...

  6. uvalive 3135 Argus priority_queue

    用优先队列维护每个时间点优先级最高的元素. #include<iostream> #include<cstdio> #include<cstdlib> #inclu ...

  7. uvalive 3135 Argus

    https://vjudge.net/problem/UVALive-3135 题意: 有一个系统有多个指令,每个指令产生一个编号为qnum的时间,每个指令的触发间隔不相同,现在给出若干个指令,现在的 ...

  8. LA 3135 优先队列

    题目大意:有若干命令,它有两个属性Q_Num,Period(周期).按时间循序模拟前k个命令并输出他们的Q_Num,若同时发生输出Q_Num最小的值. #include<iostream> ...

  9. LA-3135 - Argus(优先队列)

    3135 - Argus A data stream is a real-time, continuous, ordered sequence of items. Some examples incl ...

随机推荐

  1. EC2 开启 IPV6 访问 和 禁止重启后自动分配IP地址

    EC2 开启 IPV6 访问 和 禁止重启后自动分配IP地址进入 VPC 控制台,对当前 VPC 添加 IPV6 CIDR 块对该 VPC 的路由表进行修改,添加其它路由,第一个空填::/0,第二个空 ...

  2. 56.如何清除已经设置的npm config配置

    npm config delete registry npm config delete disturl 或者 npm config edit 找到淘宝那两行,删除

  3. js中的this详解

    在web前端开发中,javascript中的this和其他的JAVA,C#等大型语言一样,是一个重要概念.但是要注意的是,在javascript中,由于 javascript的动态性,this的指向在 ...

  4. 最短路 spfa, dijkstra, Floyd

    spfa #include <stdio.h> #include <queue> using namespace std; #define RANGE 101 #define ...

  5. javafx clipboard

    public class EffectTest extends Application { public static void main(String[] args) { launch(args); ...

  6. Atcoder AGC 019 A,B

    A - Ice Tea Store Time limit : 2sec / Memory limit : 256MB Score : 300 points Problem Statement You' ...

  7. reboot---重启Linux系统

    reboot命令用来重新启动正在运行的Linux操作系统. 语法 reboot(选项) 选项 -d:重新开机时不把数据写入记录文件/var/tmp/wtmp.本参数具有“-n”参数效果: -f:强制重 ...

  8. GetInvocationList 委托链表

    最近发现C#程序初始化时在构造函数中,偶尔出现事件注册不成功.后查资料发现有GetInvocationList 这么一个获取类中的委托链表的函数, 使用方法如下: 1.在需委托的类(Class1)中增 ...

  9. 最简单的基于FFmpeg的移动端例子:Android 视频转码器

    http://blog.csdn.net/leixiaohua1020/article/details/47056365

  10. VBA调试利器debug.print

    作者:iamlaosong 百度一下.非常easy找到debug.print解释和使用介绍.事实上非常简单.就是将代码运行结果显示在"马上窗体"中,但不影响程序运行.VBA程序调试 ...