您的位置:首页 > 产品设计 > UI/UE

UVA 540 Team Queue

2015-07-28 14:59 411 查看

题目

小团体队列

分析

一堆队列..

代码

#include <cstdio>
#include <cstring>

int team[2010][1010], front[2010], rear[2010];
int map[1000100];

int main()
{
int t, m, n;
char o[50];
for (int c = 1; scanf("%d", &t), t; c++) {
memset(front, 0, sizeof(front));
memset(rear, 0, sizeof(rear));
for (int i = 0; i < t; i++) {
scanf("%d", &n);
for (int j = 0; j < n; j++) {
scanf("%d", &m);
map[m] = i;
}
}
printf("Scenario #%d\n", c);
while (scanf("%s", o) && o[0] != 'S') {
if (o[0] == 'E') {
scanf("%d", &m);
for (int i = 0; ;i++)
if (rear[i] == 0 || (rear[i] != front[i] && map[team[i][0]] == map[m])) {
team[i][rear[i]++] = m;
break;
}
} else if (o[0] == 'D') {
for (int i = 0; ;i++)
if (rear[i] > front[i]) {
printf("%d\n", team[i][front[i]++]);
break;
}
}
}
printf("\n");
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: