uva 1203 Argus

简介: 点击打开链接uva 1203 思路: 优先队列 分析: 1 题目要求前k个事件的编号,我们利用优先队列来维护即可 2 优先队列保存的是一个struct,因此我们需要重载 s.

点击打开链接uva 1203

思路: 优先队列
分析:
1 题目要求前k个事件的编号,我们利用优先队列来维护即可
2 优先队列保存的是一个struct,因此我们需要重载<

代码:

#include<queue>
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;

const int MAXN = 20;

struct Node{
    int numId;
    int period;
    int time;
    // 重载<
    bool operator<(const Node& s)const{
        return (time > s.time || (time == s.time && numId > s.numId));     
    }
};
priority_queue<Node>q;
char str[MAXN];
int k;

int main(){
    int x , y;
    while(scanf("%s" , str) && str[0] != '#'){
         scanf("%d%d" , &x , &y);
         q.push((Node){x , y , y});
    }   
    scanf("%d" , &k);
    while(k--){
         Node tmp = q.top();
         q.pop();
         printf("%d\n" , tmp.numId);
         q.push((Node){tmp.numId , tmp.period , tmp.time+tmp.period});
    }
    return 0;
}



目录
相关文章
|
编译器 Python
python之有关魔方方法的内容
python之有关魔方方法的内容
|
安全 Go
|
Java 大数据 Scala
Scala快速入门--Scala环境搭建【Windows10】图解
Scala快速入门--Scala环境搭建【Windows10】图解
252 0
|
Shell 程序员 定位技术
笨办法学 Python3 第五版(预览)(三)(4)
笨办法学 Python3 第五版(预览)(三)(4)
62 1
|
监控 测试技术 C++
好玩又实用,阿里巴巴开源混沌工程工具 ChaosBlade
减少故障的最好方法就是让问题经常性的发生。在可控范围或环境下,通过不断重复失败过程,持续提升系统的容错和弹性能力。 那么,实施一次高效的混沌工程实验,需要几步呢? 答案:2 步。 ① 登陆 ChaosBlade ② 下载 release 版本,打造故障演练专属工具 高可用架构是保障服务稳定性的核心。
16395 108
|
Ruby
Ruby 教程 之 Ruby 循环 4
Ruby until 修饰符
92 1
|
小程序 JavaScript Java
2023年创新创意 SpringBoot+Vue 毕业设计选题推荐,200 套 SptingBoot 精品项目,总有你需要的。
2023年创新创意 SpringBoot+Vue 毕业设计选题推荐,200 套 SptingBoot 精品项目,总有你需要的。
|
Perl
Linux-正则三剑客(2)
Linux-正则三剑客(1)
110 0
|
安全 Linux
6.4 文件与目录的默认权限与隐藏权限
6.4 文件与目录的默认权限与隐藏权限
131 0
剑指offer之股票的最大利润
剑指offer之股票的最大利润
125 0