Uva540 队列与map
来源:互联网 发布:广西驰程网络办公系统 编辑:程序博客网 时间:2024/06/15 09:11
题目连接
http://acm.hust.edu.cn/vjudge/problem/19518
Sample Input
2
3 101 102 103
3 201 202 203
ENQUEUE 101
ENQUEUE 201
ENQUEUE 102
ENQUEUE 202
ENQUEUE 103
ENQUEUE 203
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
STOP
2
5 259001 259002 259003 259004 259005
6 260001 260002 260003 260004 260005 260006
ENQUEUE 259001
ENQUEUE 260001
ENQUEUE 259002
ENQUEUE 259003
ENQUEUE 259004
ENQUEUE 259005
DEQUEUE
DEQUEUE
ENQUEUE 260002
ENQUEUE 260003
DEQUEUE
DEQUEUE
DEQUEUE
DEQUEUE
STOP
0
Sample Output
Scenario #1
101
102
103
201
202
203
Scenario #2
259001
259002
259003
259004
259005
260001
题意
有人进大队,如果大队里有他们小队的人,那么他就可以插到他们小队的末尾,否则就站到大队的末尾。
题解
先用map把组号和编号处理了,方便查找,queue2是每个小队,一次编号,queue1是大队,q2是按小队顺序的,直接查找q2的编号。
‘E…’,若q2为空,则q1.push新的小队,q2中也插入新的小队,不为空则q1不变,然后插入q2相对于的小队的末尾。
‘D…’,push q1对应的第一个小队的q2的第一个人,即q2不记录小队相对顺序只记录小队内部的顺序,而q1记录小队相对顺序
代码
#include<bits/stdc++.h>using namespace std;int main(){ int n; int k=0; while(scanf("%d",&n)!=EOF) { if(n==0)break; k++; printf("Scenario #%d\n",k); map<int,int>s; for(int i=0;i<n;i++) { int t; scanf("%d",&t); for(int j=0;j<t;j++) { int z; scanf("%d",&z); s[z]=i+1; } } string st; queue<int>q,q2[1005]; //q是大队,q2是小队 while(cin>>st) { int jj; if(st[0]=='S')break; if(st[0]=='D') { jj=q.front(); cout<<q2[q.front()].front()<<endl; q2[q.front()].pop(); if(q2[q.front()].size()==0)q.pop(); } if(st[0]=='E') { int zz; scanf("%d",&zz); if(q2[s[zz]].size()==0){q2[s[zz]].push(zz);q.push(s[zz]);} else{q2[s[zz]].push(zz);} } } printf("\n"); } return 0;}
- Uva540 队列与map
- 队列uva540
- UVA540 TeamQueue【map+queue】
- 1031 UVA540 map+queue
- uva540(队列)
- uva540 优先队列+模拟
- Team Queue (uva540 队列模拟)
- UVA540:Team Queue(团体队列)
- UVa540(队列数组)团体队列
- UVA540
- uva540
- UVa540
- uva540
- UVA540
- UVa540
- UVa540
- uva540 Team Queue(模拟:队列)
- UVA540 Team Queue(队列简单用法)
- 北斗得与失(1-二次编码的缺点)
- Linux -- bash
- codevs 3143 二叉树的序遍历
- light oj贪心
- 新闻客户端功能类集合
- Uva540 队列与map
- 2015-2016ACM-ICPC NEER northern-subregional-contest E Easy Arithmetic 思维、模拟
- 内部类的详解
- Anroid优化(二)_内存优化
- 简陋自写intList--双色球实例
- linux学习之硬盘的存储原理和内部架构
- Aizu 2224 (并查集 Save you cat )
- java-ee
- 关于硬件加速哪些优秀的资源总结