zoukankan      html  css  js  c++  java
  • UVa 12100 (模拟) Printer Queue

    用一个队列模拟,还有一个数组cnt记录9个优先级的任务的数量,每次找到当前最大优先级的任务然后出队,并及时更新cnt数组。

     1 #include <iostream>
     2 #include <cstring>
     3 #include <algorithm>
     4 #include <cstdio>
     5 #include <queue>
     6 using namespace std;
     7 
     8 struct Task
     9 {
    10     int pos, pri;
    11     Task(int pos = 0, int pri = 0):pos(pos), pri(pri) {}
    12 };
    13 
    14 int cnt[10];
    15 
    16 int main()
    17 {
    18     //freopen("in.txt", "r", stdin);
    19 
    20     int T; scanf("%d", &T);
    21     while(T--)
    22     {
    23         int n, p;
    24         scanf("%d%d", &n, &p);
    25         memset(cnt, 0, sizeof(cnt));
    26         queue<Task> Q;
    27         for(int i = 0; i < n; i++)
    28         {
    29             int pri;
    30             scanf("%d", &pri);
    31             Q.push(Task(i, pri));
    32             cnt[pri]++;
    33         }
    34         while(1)
    35         {
    36             Task t = Q.front();
    37             int m;
    38             for(m = 9; m >= t.pri; m--) if(cnt[m]) break;
    39             cnt[m]--;
    40             if(m > t.pri)
    41             {
    42                 while(t.pri != m)
    43                 {
    44                     Q.pop();
    45                     Q.push(t);
    46                     t = Q.front();
    47                 }
    48                 Q.pop();
    49                 if(t.pos == p) break;
    50                 //printf("sz = %d
    ", Q.size());
    51             }
    52             else
    53             {
    54                 Q.pop();
    55                 if(t.pos == p) break;
    56             }
    57         }
    58         printf("%d
    ", n - Q.size());
    59     }
    60 
    61     return 0;
    62 }
    代码君
  • 相关阅读:
    linux资源监控命令详解
    c语言入门教程 / c语言入门经典书籍
    Hive存储过程实现-hpsql
    Hive集成mysql数据库
    Hive安装与配置
    Hbase shell操作总结(2)
    Hbase shell操作总结(1)
    Hbase 原理介绍
    Hbase的安装与配置
    Zookeeper工作原理(详细)
  • 原文地址:https://www.cnblogs.com/AOQNRMGYXLMV/p/4455386.html
Copyright © 2011-2022 走看看