打印队列(Printer Queue)
来源:互联网 发布:手机版特效软件 编辑:程序博客网 时间:2024/05/17 23:19
Printer Queue
Time limit: 3.000 seconds
【分析】
首先记录所求时间它在队列中的位置,用一个队列存储这些任务的优先级,同时也创建一个队列存储对应任务一开始的位置,那么当我们对前一个队列进行什么操作时,后一个队列也跟着做什么操作即可,就可以保证两个队列的对应关系——任务对应初始位置。进行模拟时,从第一个队列取出一个任务(同时第二个队列也是进行同样的操作),判断该任务是否可以打印(通过循环判断,队列后面的元素任务优先级有木有大于当前任务的优先级即可),如果可以打印就将所求打印时间加1,并且判断是否是我们所求时间的位置,如果是,则停止模拟,如果不是则继续以上操作;如果不可以进行打印就将刚才取出来的数重新加到队尾(两个队列均是这样操作)。
用java语言编写程序,代码如下:
import java.util.Iterator;import java.util.LinkedList;import java.util.Queue;import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner input = new Scanner(System.in);int t = input.nextInt();for(int i = 0; i < t; i++) {int n = input.nextInt();int pos = input.nextInt();Queue<Integer> q = new LinkedList<Integer>();Queue<Integer> qn = new LinkedList<Integer>();for(int j = 0; j < n; j++) {int temp = input.nextInt();q.add(temp);qn.add(j);}int time = 0;while(true) {int temp = q.poll();int num = qn.poll();if(goOnPrint(temp, q)) {time++;if(num == pos)break;}else {q.add(temp);qn.add(num);}}System.out.println(time);}}public static boolean goOnPrint(int t, Queue<Integer> q) {Iterator<Integer> iterator = q.iterator();while(iterator.hasNext()) {int v = iterator.next();if(v > t)return false;}return true;}}
0 0
- Printer Queue打印队列
- 打印队列(Printer Queue)
- UVa12100 Printer Queue (打印队列)
- UVA12100:Printer Queue(打印队列)
- Printer Queue(打印队列)POJ3125
- Printer Queue 打印队列 UVA 12100
- uva 12100 Printer Queue(打印队列)模拟
- queue队列-printer queue
- POJ 3125 Printer Queue【简单模拟a打印队列】
- POJ 3125 Printer Queue(打印队列---模拟)
- 5-7 UVA 12100 Printer Queue打印队列
- 习题5-7 打印队列(Printer Queue, UVa12100)
- UVA 12100 Printer Queue(队列,优先队列)
- uva 12100 Printer Queue 习题5-7 打印队列 (STL deque练习)
- 关于“打印队列 Printer Queue, ACM/ICPC NWERC 2006, UVa 12100)"的讨论
- 算法竞赛入门经典 第二版 习题5-7 打印队列 Printer Queue uva12100
- 1443.Printer Queue 基本队列操作
- POJ 3125 Printer Queue 模拟队列
- my—review-2014
- 【Uva 340】 Master-Mind Hints
- HDU 1241 Oil Deposits
- UVA 1197 The Suspects
- 技术管理的核心内容: 提高团队技能
- 打印队列(Printer Queue)
- 欢迎使用CSDN-markdown编辑器
- Clone Graph
- HDU 1829 A Bug's Life
- 【android】类似微信底部按钮标签实现
- HDU 1253 胜利大逃亡
- iOS开发——圆形过渡动画
- HDU 1969 Pie
- Linux多线程实践(4) --线程特定数据