博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 1387 Team Queue
阅读量:4508 次
发布时间:2019-06-08

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

题目大意:队列操作,在同一个团队里的可以插队,求最终序列

题解:建立n个子队列,同时建立一个总队列记录团队的先后顺序,插队的直接插到子队列的队尾即可,对总队列没有任何影响。

#include 
#include
#include
#include
using namespace std; const int MAX=1010; const int INF=99999999; map
Map; queue
Q[MAX],p; string operate; bool mark[MAX]; int main(){ int n,m,a,num=0; while(scanf("%d",&n),n){ Map.clear(); while(!p.empty())p.pop(); memset(mark,false,sizeof mark); for(int i=1;i<=n;i++)while(!Q[i].empty())Q[i].pop(); for(int i=1;i<=n;i++){ scanf("%d",&m); while(m--)scanf("%d",&a),Map[a]=i; } printf("Scenario #%d\n",++num); while(cin>>operate,operate!="STOP"){ if(operate=="ENQUEUE"){ scanf("%d",&a); int id=Map[a]; Q[id].push(a); if(!mark[id])p.push(id); mark[id]=true; }else{ int k=p.front(); printf("%d\n",Q[k].front()); Q[k].pop(); if(Q[k].empty())p.pop(),mark[k]=false; } } cout<

转载于:https://www.cnblogs.com/forever97/p/3673733.html

你可能感兴趣的文章
[转]从3个IT公司里学到的57条经验
查看>>
Test指令
查看>>
c++11——可变参数模板
查看>>
from imp import * 重新加载导入的模块reload
查看>>
二叉树三种遍历调试运行版
查看>>
关于PHP、python使用的CRC32函数
查看>>
JS自动关闭授权弹窗,并刷新父页面
查看>>
c#语言几种常见循环代码
查看>>
SQL多表连接查询(详细实例)
查看>>
Http中涉及到的知识点总结
查看>>
adb命令记录
查看>>
swift初学日志
查看>>
Eclipse上GIT插件_客户端配置
查看>>
JavaScript浏览器对象之二Document对象
查看>>
js 乘除算法 浮点 精度解决办法
查看>>
sqlserver2005版本的mdf文件,还没有log文件,
查看>>
错误“该伙伴事务管理器已经禁止了它对远程/网络事务的支持”解决方案
查看>>
System x 服务器制作ServerGuide U盘安装Windows Server 2008 操作系统 --不格式化盘
查看>>
前端常见跨域解决方案(全)
查看>>
umi---className设置多个样式
查看>>