UVA 12100 Printer Queue(队列,优先队列)
来源:互联网 发布:网络推广专员面试 编辑:程序博客网 时间:2024/05/17 08:12
详细题目:https://vjudge.net/problem/UVA-12100
思路:
用队列模拟,开一个<pri , pos> 的队列,分别表示任务的优先级和位置。再开一个 <pri> 的优先队列,默认任务的优先级为从大到小的优先顺序。
每次取出队列首任务,若其优先级不是最高的(根据优先队列判断),将其入队;否则,ans++,再判断其位置是否为所求任务完成的时刻,若是则输出ans结束。
#include <iostream>#include <cstdlib>#include <queue>using namespace std;struct node{ int pri,pos;};int main(){ int t; cin>>t; while(t--) { queue<node> q; priority_queue<int> pq; int n,k; cin>>n>>k; for(int i=0;i<n;i++) { node a; cin>>a.pri; a.pos=i; q.push(a); pq.push(a.pri); } node x; int ans=0,tp; while(1) { x=q.front(); q.pop(); tp=pq.top(); if(x.pri==tp) { pq.pop(); ans++; if(x.pos==k) { cout<<ans<<endl; break; } } else q.push(x); } } return 0;}
阅读全文
0 0
- UVA 12100 Printer Queue(队列,优先队列)
- UVa 12100 - Printer Queue【队列和优先队列】
- Printer Queue 打印队列 UVA 12100
- uva 12100 Printer Queue(打印队列)模拟
- queue队列-printer queue
- 5-7 UVA 12100 Printer Queue打印队列
- UVa 12110 Printer Queue(特殊队列)
- uva12100 Printer Queue (队列模拟, 据说是优先队列,错了)
- Printer Queue打印队列
- 打印队列(Printer Queue)
- uva 12100 Printer Queue 优先级队列模拟题 数组模拟队列
- UVa12100 Printer Queue (打印队列)
- UVA12100:Printer Queue(打印队列)
- uva 12100 Printer Queue 习题5-7 打印队列 (STL deque练习)
- 关于“打印队列 Printer Queue, ACM/ICPC NWERC 2006, UVa 12100)"的讨论
- UVa 12100 Printer Queue
- UVA - 12100 Printer Queue
- UVa 12100 - Printer Queue
- Linux下CMake 安装教程
- 在字符串中找出第一个只出现一次的字符,例如:输入abaccdeff,则输出b
- 深度学习进阶(一.2)--结合GPU搭建theano貌似成功了,但是测试数据运行失败
- LeetCode-105. Construct Binary Tree from Preorder and Inorder Traversal
- 探究webassembly(2):性能探究和实验分析
- UVA 12100 Printer Queue(队列,优先队列)
- volatile
- Selenium3+Python3+Firefox56配置及测试解析
- Spring容器扩展点之BeanPostProcessor
- etcd集群安装
- 适配器模式(结构型设计模式)
- XVII Open Cup named after E.V. Pankratiev. XXI Ural Championship G glassese of solutions
- 金字塔原理学习总结
- Windows技巧:在当前操作目录下直接打开命令窗口