zoukankan      html  css  js  c++  java
  • UVa 12100打印队列(队列)

    原题链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3252

    这题可以建立两个队列,一个为优先级队列,当两者队首相同时就出队列,否则将队首放到队尾。

     1 #include<iostream>
     2 #include<queue>
     3 using namespace std;
     4 
     5 queue<int> p;
     6 priority_queue<int>pq;
     7 
     8 int main()
     9 {
    10     int t, n, m, i, j, k;
    11     cin >> t;
    12     while (t--)
    13     {
    14         cin >> n >> m;
    15         k = n;
    16         while (!p.empty()) p.pop();
    17         while (!pq.empty()) pq.pop();
    18         while (n--)
    19         {
    20             cin >> i;
    21             p.push(i);
    22             pq.push(i);
    23         }
    24         int count = 0;
    25         for (int i = 0; i <= m; i++)
    26         {
    27             if (p.front() != pq.top())
    28             {
    29                 j = p.front();
    30                 p.push(j);
    31                 p.pop();
    32                 if (i == m)   m = m + k;            //如果第m个关注的任务不能打印,则在循环k次
    33             }
    34             else
    35             {
    36                 p.pop();
    37                 pq.pop();
    38                 count++;
    39                 k--;
    40             }
    41         }
    42         cout << count << endl;
    43     }
    44     return 0;
    45 }
  • 相关阅读:
    quickSort
    L1-3 宇宙无敌加法器
    deepin下用命令管理自己的Github仓库
    PAT 1008
    增量包算法,时间复杂度3n
    vue组件化-容器
    vue模块化设计
    语言语法糖Sugar
    虚拟dom节点,支持querySelector
    html语法树转html
  • 原文地址:https://www.cnblogs.com/zyb993963526/p/6098230.html
Copyright © 2011-2022 走看看