UVA 1203 Argus

来源:互联网 发布:结对编程表情包 编辑:程序博客网 时间:2024/05/22 08:08

大意略。

优先队列模拟。

#include <iostream>#include <fstream>#include <cstdlib>#include <cstdio>#include <string>#include <cstring>#include <cmath>#include <vector>#include <algorithm>#include <queue>using namespace std;const int maxn = 1010;char str[maxn];int n;struct Argus{int time, num, period;bool operator  < (const Argus &a) const{if(a.time != time) return a.time < time;return a.num < num;}};priority_queue<Argus> Q;void init(){while(!Q.empty()) Q.pop();}void read_case(){init();Argus a;int num, period;while(str[0] != '#'){scanf("%d%d", &num, &period);a.time = period, a.num = num, a.period = period; Q.push(a);scanf("%s", str);}scanf("%d", &n);}void solve(){Argus b;read_case();int ans = 0;for(int i = 0; i < n; i++){b = Q.top(); Q.pop();printf("%d\n", b.num);b.time += b.period;Q.push(b);}}int main(){while(~scanf("%s", str)){solve();}return 0;}


原创粉丝点击