博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva 12100 Printer Queue 优先级队列模拟题 数组模拟队列
阅读量:5947 次
发布时间:2019-06-19

本文共 764 字,大约阅读时间需要 2 分钟。

题目很简单,给一个队列以及文件的位置,然后一个一个检查,如果第一个是优先级最高的就打印,否则放到队列后面,求所要打印的文件打印需要花费多长时间。

这里我用数组模拟队列实现,考虑到最糟糕的情况,必须把数组开到maxn*maxn。另外当所要打印的文件优先级不是最高的时候也需要排列到后面。

0.016s。

代码:

 

#include 
const int maxn = 101;int t, n, m, time;int q[maxn*maxn];int print() { int front = 0, rear = n; while (1) { int max = q[front]; for (int i = front; i < rear; i++) if (q[i] > max) { if (front == m) m = rear; q[rear++] = q[front++]; break; } else if (i == rear - 1) { time++;// printf("%d %d\n", time, q[front]); if (front == m) return time; front++; } }//while}int main() { scanf("%d", &t); while (t--) { time = 0; scanf("%d%d", &n, &m); for (int i = 0; i < n; i++) scanf("%d", &q[i]); printf("%d\n", print()); }//while}

这里是水水题的水果君,转载请注明出处。

 

 

你可能感兴趣的文章
Jenkins 内置变量(学习笔记二十四)
查看>>
PostgreSQL 10.1 手册_部分 II. SQL 语言_第 13 章 并发控制_13.2. 事务隔离
查看>>
虚拟机概念
查看>>
【云周刊】第195期:全球首家!阿里云获GNTC2018 网络创新大奖 成唯一获奖云服务商...
查看>>
【VS】使用vs2017自带的诊断工具(Diagnostic Tools)诊断程序的内存问题
查看>>
AutoScaling 支持从实例启动模板创建实例
查看>>
Mysql 查看视图、存储过程、函数、触发器
查看>>
Java提高篇(二):IO字节流、字符流和处理流
查看>>
云HBase集群的规划
查看>>
hello dato--graphlab create
查看>>
一个优质男朋友的标准
查看>>
浩鲸科技和京东加入 OpenMessaging 开源标准社区
查看>>
spring 注入方式
查看>>
FileZilla Client 3.42.0 beta1 发布,流行的 FTP 解决方案
查看>>
深度学习之迁移学习介绍与使用
查看>>
Qt学习笔记(一)-文件目录与术语解释
查看>>
IDEA 自动导入包
查看>>
源发行版1.8 需要目标发行版1.8(解决亲身测)
查看>>
VR热播:VR 剧集以及及大量精彩VR视频
查看>>
MongoDB、Hbase、Redis等NoSQL优劣势、应用场景
查看>>