博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 540 Team Queue 【STL】
阅读量:5139 次
发布时间:2019-06-13

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

题意:给出t个团体,这t个团体排在一起,每次新来一个x排队,如果在整个的团体队列中,有x的队友,那么x排在它的队友的后面,如果他没有队友,则排在长队的队尾

求给出的每一个出队命令,输出出队的人的编号

紫书上的思路:有两个队列,一个是每一个团体内部形成的队列,还有一个是这t个团体又构成的队列

1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #define mod=1e9+7;11 using namespace std;12 13 typedef long long LL;14 const int maxn=10005;15 16 int main(){17 int t,kase=0;18 while(scanf("%d",&t)==1&&t){19 printf("Scenario #%d\n",++kase);20 21 map
team;22 for(int i=0;i
q,q2[maxn];32 for(;;){33 int x;34 char cmd[10];35 scanf("%s",cmd);36 if(cmd[0]=='S') break;37 else if(cmd[0]=='D'){38 int t=q.front();39 printf("%d\n",q2[t].front());q2[t].pop();40 if(q2[t].empty()) q.pop();//如果团体t全部为空,则将团体t整个从团体队列中出去 41 }42 else if(cmd[0]=='E'){43 scanf("%d",&x);44 int t=team[x];45 if(q2[t].empty()) q.push(t);//如果团体t现在为空,将它加入团体队列中 。对应于x来的时候,没有一个队友,则他排到长队的队尾 46 q2[t].push(x);//将编号为x的人加入它应该在的小团队中 47 }48 }49 printf("\n");50 }51 return 0;52 }
View Code

 

转载于:https://www.cnblogs.com/wuyuewoniu/p/4358186.html

你可能感兴趣的文章
django高级应用(分页功能)
查看>>
【转】Linux之printf命令
查看>>
关于PHP会话:session和cookie
查看>>
C#double转化成字符串 保留小数位数, 不以科学计数法的形式出现。
查看>>
利用IP地址查询接口来查询IP归属地
查看>>
构造者模式
查看>>
Hbuild在线云ios打包失败,提示BuildConfigure Failed 31013 App Store 图标 未找到 解决方法...
查看>>
找到树中指定id的所有父节点
查看>>
jQuery on(),live(),trigger()
查看>>
【架构】Linux的架构(architecture)
查看>>
ASM 图解
查看>>
Date Picker控件:
查看>>
你的第一个Django程序
查看>>
treegrid.bootstrap使用说明
查看>>
[Docker]Docker拉取,上传镜像到Harbor仓库
查看>>
javascript 浏览器类型检测
查看>>
nginx 不带www到www域名的重定向
查看>>
记录:Android中StackOverflow的问题
查看>>
导航,头部,CSS基础
查看>>
[草稿]挂载新硬盘
查看>>