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天梦