UVA12100:Printer Queue(打印队列)
来源:互联网 发布:软件封装 可视化代码 编辑:程序博客网 时间:2024/05/18 02:56
作者:xq的acm之路
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3252
题目大意:现在有一个打印队列,里面的任务是无序的,每个任务有一个优先级,打印机会从第一个任务开始执行,如果当前任务的优先级是队列中最大的,那么就打印,否则就将该任务放置到队末。每次打印消耗一分钟的时间,求该序列中的任务分别在什么时候被打印。
思路:队列模拟就行,注意结束的条件。
代码如下:
#include <iostream>#include <queue>#include <algorithm>#include <vector>using namespace std;queue<int>q;int main(){ int n; int b[1010]; cin>>n; while(n--) { int t,k,l; cin>>t>>k; for(int i=0;i<t;i++) { cin>>l; q.push(l); b[i]=l; } sort(b,b+t); int zhi=k,flag=t-1,ans=1; //zhi就是指向队列的指针 while(1) { if(zhi<0) zhi=q.size()-1; if(q.front()==b[flag]) { if(zhi==0) break; q.pop(); ans++; flag--; zhi--; } else { zhi--; int m=q.front(); q.pop(); q.push(m); } } cout<<ans<<endl; while(!q.empty()) //一定不要忘记把队列清空!!! q.pop(); } return 0;}
0 0
- UVa12100 Printer Queue (打印队列)
- UVA12100:Printer Queue(打印队列)
- 习题5-7 打印队列(Printer Queue, UVa12100)
- UVA12100 Printer Queue 【双端队列】
- 算法竞赛入门经典 第二版 习题5-7 打印队列 Printer Queue uva12100
- Printer Queue打印队列
- 打印队列(Printer Queue)
- UVa12100 - Printer Queue
- UVA12100 - Printer Queue
- UVa12100 Printer Queue
- UVA12100 Printer Queue
- uva12100 Printer Queue (队列模拟, 据说是优先队列,错了)
- UVALive3638 UVA12100 POJ3125 HDU1972 Printer Queue【队列+模拟】
- Printer Queue(打印队列)POJ3125
- Printer Queue 打印队列 UVA 12100
- uva 12100 Printer Queue(打印队列)模拟
- UVA12100-打印队列
- queue队列-printer queue
- 读书笔记2-《crazy java》
- 计算几何入门
- javascript数据结构与算法--队列
- jQuery 中对 each 及 sort 方法的详解
- removeEventListener('2016');
- UVA12100:Printer Queue(打印队列)
- 1025. 反转链表 (25)
- HDU-4553-约会安排(线段树维护最长连续区间)
- 文章标题 coderforces 148D : Bag of mice (概率DP)
- c++迭代器(iterator)详解
- Leetcode 368 - Largest Divisible Subset(dp)
- Spring源码如何导入到eclipse
- mysql-5.7.17-winx64的安装问题
- C#中语句的使用