UVA 540 Team Queue

Posted fudanxi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UVA 540 Team Queue相关的知识,希望对你有一定的参考价值。

 1 #include "cstdio"
 2 #include "queue"
 3 #include "map"
 4 using namespace std;
 5 int main()
 6 {
 7     int t,kase=0;//t团队数目
 8     while (scanf("%d",&t)==1&&t)
 9     {
10         printf("Scenario #%d
", ++kase);
11         map<int, int> team;//记录所有人团队编号
12         //<元素x,团队编号>
13         //team[x]为元素x所在团队的编号
14         for (int i = 0; i < t; i++)
15         {
16             int n;//每个团队的元素个数
17             scanf("%d", &n);
18             while (n--)
19             {
20                 int x;
21                 scanf("%d", &x);
22                 team[x] = i;
23             }
24         }
25         queue<int> q, q2[1010];
26         while (true)
27         {
28             char cmd[10];
29             scanf("%s", cmd);
30             if (cmd[0] == S)//STOP
31                 break;
32             else if (cmd[0] == D)//队首出队
33             {
34                 int t = q.front();
35                 printf("%d
", q2[t].front());
36                 q2[t].pop();
37                 if (q2[t].empty())
38                     q.pop();//团队t全部出队
39             }
40             else if (cmd[0] == E)//入队
41             {
42                 int x;
43                 scanf("%d", &x);
44                 int t = team[x];
45                 if (q2[t].empty())//为空加入q
46                     q.push(t);
47                 q2[t].push(x);
48             }
49         }
50         printf("
");
51     }
52     return 0;
53 }

 

以上是关于UVA 540 Team Queue的主要内容,如果未能解决你的问题,请参考以下文章

UVA540 Team Queue——题解 by hyl天梦

UVA 540 Team Queue

UVA 540 Team Queue

Team Queue UVA - 540

例题5-6 团体队列 Team Queue UVA - 540

UVA540 TeamQueuemap+queue