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;
}



目录
打赏
0
0
0
0
15
分享
相关文章
uva 10340 all in all
输入两个字符串s和t,判断是否可以从t中删除0个或多个字符(其他字符顺序不变),得到字符串是。
52 0
uva 10870 Recurrences
点击打开uva 10870 思路:构造矩阵+矩阵快速幂 分析: 1 题目给定f(n)的表达式 f(n) = a1 f(n - 1) + a2 f(n - 2) + a3 f(n -3) + .
744 0
UVA11525
题意:给定N与K(均为正整数)可以确定第K个全排列(1..N的全排列),但N较大,现以N=sigma(Si×(K-i)!)(i=1..K)的形式,输入K以及Si,i=1..K,请输出第K个全排列 分析:逆向去想,对于一个给定的全排列可以确定它的序号K,K的表达式形式与N类似,发现从Si可以确定第K个全排列中的第i项,具体用线段树实现查找第i项即可。
615 0
uva 10282 - Babelfish
点击打开链接 题目意思:  给定很多组单词,每一组有两个单词,后面一个单词匹配前面一个单词,现在要求每输入一个单词就去判断是否有对应的单词,有输出对应的单词,否则输出eh 解题思路:                       ...
862 0
UVA 之10010 - Where's Waldorf?
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/SunnyYoona/article/details/24863879 ...
721 0
uva 12470 Tribonacci
点击打开uva12470  思路: 矩阵快速幂 分析: 1 裸题 代码: /************************************************ * By: chenguolin ...
1000 0
uva 10054 - The Necklace
点击打开链接uva 10054 思路: 欧拉回路 分析: 1 对于一个无向图来说如果这个图是一个欧拉图,那么必须满足该图是连通的并且每个点的度数都是偶数 2 题目给定n条边的无向图问我们是否是一个欧拉图,是的话输出欧拉图的一条路径 3 ...
850 0
uva 757 - Gone Fishing
点击打开链接uva 757 题目意思:            john现有h个小时的空闲时间,他打算去钓鱼。john钓鱼的地方共有n个湖,所有的湖沿着一条单向路顺序排列(john每在一个湖钓完鱼后,他只能走到下一个湖继续钓), john必须从1号湖开始钓起,但是他可以在任何一个湖结束他此次钓鱼的行程。
930 0
UVa 10082 WERTYU
Problem Description A common typing error is to place the hands on the keyboard one row to the right of the correct position.
898 0