寒月
C++博客
首页
新随笔
联系
聚合
管理
随笔-68 评论-10 文章-0 trackbacks-0
UVa 540 - Team Queue
题目链接:
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=103&page=show_problem&problem=481
这道题主要是理解题意。假设有A、B两个班的人到售票处买火车票需要排队,那么每去一个人就站在队列中该班的最后一个人的后面;如果某人是班上第一个去的,则站在队列末尾。相应的每个班对应team, 每个人对应team中的元素,那个排队队列就是题目中的queue.
#include
<
iostream
>
#include
<
cstdio
>
#include
<
list
>
#include
<
iterator
>
#include
<
list
>
using
namespace
std;
int
t;
int
ele[
1000000
];
//
记录元素(element)所在的team.
list
<
int
>
lst;
//
排队队列
list
<
int
>
::iterator team[
1001
];
//
指向每个team在lst中排最后一个的元素的位置。若lst中没有team中的元素,则指向lst.end().
int
main()
{
int
ca
=
0
;
while
(cin
>>
t
&&
t)
{
lst.clear();
int
num, tmp;
for
(
int
i
=
1
; i
<=
t;
++
i)
{
team[i]
=
lst.end();
cin
>>
num;
for
(
int
j
=
0
; j
<
num;
++
j)
{
cin
>>
tmp;
ele[tmp]
=
i;
}
}
cout
<<
"
Scenario #
"
<<
++
ca
<<
endl;
string
s;
while
(cin
>>
s
&&
s
!=
"
STOP
"
)
{
if
(s
==
"
ENQUEUE
"
)
{
cin
>>
tmp;
if
(team[ele[tmp]]
!=
lst.end())
{
++
team[ele[tmp]];
team[ele[tmp]]
=
lst.insert(team[ele[tmp]], tmp);
}
else
{
team[ele[tmp]]
=
lst.insert(team[ele[tmp]], tmp);
}
}
else
if
(s
==
"
DEQUEUE
"
)
{
int
top
=
lst.front();
if
(team[ele[top]]
==
lst.begin())
{
team[ele[top]]
=
lst.end();
}
lst.pop_front();
cout
<<
top
<<
endl;
}
}
cout
<<
endl;
}
return
0
;
}
posted on 2011-11-24 15:38
wuxu
阅读(862)
评论(0)
编辑
收藏
引用
所属分类:
数据结构
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
相关文章:
UVa11235 - Frequent values
UVa 10562 - Undraw the Trees
UVa 699 - The Falling Leaves
UVa 297 - Quadtrees
UVa 548 - Tree
UVa 112 - Tree Summing
UVa 540 - Team Queue
UVa 11234 - Expressions
hdu1166【线段树】
hdu3415【单调队列】
网站导航:
博客园
IT新闻
BlogJava
知识库
博问
管理
<
2011年11月
>
日
一
二
三
四
五
六
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
动态规划(24)
高精度(6)
计算几何(1)
模拟(8)
其它(4)
数据结构(11)
搜索(4)
算法(1)
贪心(1)
图论(8)
随笔档案
2014年4月 (1)
2013年10月 (1)
2013年6月 (1)
2012年1月 (1)
2011年12月 (2)
2011年11月 (12)
2011年10月 (3)
2011年7月 (3)
2011年6月 (1)
2011年5月 (5)
2010年11月 (1)
2010年10月 (1)
2010年9月 (4)
2010年8月 (32)
收藏夹
STL学习(1)
友情链接
MoreWindows Blog
cplusplus
SourceForge.net
结构之法 算法之道
搜索
最新评论
1. re: hdu1042 N![未登录]
评论内容较长,点击标题查看
--rr
2. re: hdu1042 N!
评论内容较长,点击标题查看
--charlea
3. re: hdu3401(DP+单调队列优化)
感谢分享。最后求答案不必枚举i,直接在f[t][0]处。
--twinkle
4. re: hdu1175
双向的就行了,楼主可以试一下
--TmacKiller
5. re: hdu3560
这个跟写法有很大关系
--神の舞
阅读排行榜
1. Ubuntu 12.04 LTS安装VMware Tools无法找到kernel header path的问题 (转)(2696)
2. hdu1042 N!(2298)
3. hdu1175(1978)
4. QT4+MinGW+CodeBlocks 中添加Q_OBJECT宏引起"undefined reference to 'vtable for XXX' "的问题解决方法(1522)
5. 滑动窗口可视化代码(1446)
评论排行榜
1. hdu1561(树形DP)(4)
2. hdu3560(2)
3. hdu1042 N!(2)
4. hdu3401(DP+单调队列优化)(1)
5. hdu1175(1)