1443. Printer Queue
2013-07-18 16:59
176 查看
题意:输入一组数据,每个元素都有优先级,优先级从1到9.计算出当目标任务完成后,所需要的时间
思路:如果第一个元素的优先级不是最高,就将这个元素放到队列末,如果其优先级最高,但不是目标任务的话,就将其删掉,时间就+1,如果是目标任务的话,就输出时间
思路:如果第一个元素的优先级不是最高,就将这个元素放到队列末,如果其优先级最高,但不是目标任务的话,就将其删掉,时间就+1,如果是目标任务的话,就输出时间
#include<stdio.h> #include<queue> #include<stdlib.h> #include<algorithm> using namespace std; struct job{ job(int i, int k)//初始化,相当于构造函数 { id = i; v = k; } int id, v; }; int main(){ int a; scanf("%d", &a); while(a--){ int n, value; int a[105]; queue<job> jobs; scanf("%d %d", &n, &value); for(int i = 0; i < n; i++){ int t; scanf("%d", &t); jobs.push(job(i, t)); a[i] = t; } sort(a, a + n); int p = n - 1; int cnt = 0; while(true){ if(jobs.front().v == a[p]){//判断队列头的任务的等级是否位最高 if(jobs.front().id == value){//判断是否跟指定的位置相同 printf("%d\n", ++cnt); break; } else{ cnt++; jobs.pop();//将队列头删除 p--; } } else{ jobs.push(jobs.front());//将队列头放到队尾 jobs.pop(); } } while(!jobs.empty()) jobs.pop(); } return 0; }
相关文章推荐
- 1443. Printer Queue
- 这周的一道程序设计题兼sicily1443 Printer Queue题解
- 1443. Printer Queue
- 1443. Printer Queue
- 1443. Printer Queue
- Printer Queue 打印队列 UVA 12100
- 习题5-7 打印队列(Printer Queue, UVa12100)
- Printer Queue UVA - 12100
- 1001. Printer Queue
- POJ3125--Printer_Queue
- UVA12100 Printer Queue
- Printer Queue打印队列
- UVA12100:Printer Queue(打印队列)
- POJ 3125 Printer Queue【暴力模拟】
- 7月28号的题目:Printer Queue&&Parencodings&&Grandpa is Famous&&Emag eht htiw Em Pleh&&An Old Stone Game
- winform 水晶报表 更改 打印队列 中的 文档名 (Set Crystal Reports Document Name In Printer Queue)
- Printer Queue
- winform 水晶报表 更改 打印队列 中的 文档名 (Set Crystal Reports Document Name In Printer Queue)
- Printer Queue(poj3125模拟队列)
- GCD之dispatch queue深入浅出