📄 1456.cpp
字号:
/* This Code is Submitted by wywcgs for Problem 1456 on 2006-01-10 at 20:37:34 */
#include <cstdio>
#include <cstring>
#include <list>
#include <queue>
using namespace std;
const int MAX = 1024000;
const int N_MAX = 1024;
int team[MAX], t, n;
list<int> L[N_MAX];
int main()
{
int a, i, j, case_no;
char order[16];
queue<int> Q;
for(case_no = 1; scanf("%d", &t) != EOF && t != 0; case_no++) {
while(!Q.empty()) Q.pop();
for(i = 0; i < t; i++) {
L[i].clear();
scanf("%d", &n);
for(j = 0; j < n; j++) {
scanf("%d", &a);
team[a] = i;
}
}
printf("Scenario #%d\n", case_no);
while(scanf("%s", order) != EOF && strcmp(order, "STOP")) {
if(!strcmp(order, "ENQUEUE")) {
scanf("%d", &a);
if(L[team[a]].empty()) Q.push(team[a]);
L[team[a]].push_back(a);
} else {
a = Q.front();
list<int>::iterator it = L[a].begin();
printf("%d\n", *it); L[a].erase(it);
if(L[a].empty()) Q.pop();
}
}
putchar('\n');
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -