這道題很有意思,一開始又想複雜了
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;
///#define inf 0xffffff7
#define maxn 10086
///int belongteam[1000000]; //elements are integers in the range 0 - 999999
listlists;
list::iterator pteams[1200];//最多1000個team
int main()
} string line;
while (cin >> line && line != "stop")
else
pteams[belongteam[tempinput]] = lists.insert(pteams[belongteam[tempinput]], tempinput);
}else if (line == "dequeue")
lists.pop_front();
cout << top << endl;
}} cout << endl;
cases++;
} ///
return 0;
}
參考了感覺這個方法很不錯
迭代器指標陣列的定義,鍊錶的插入方式
UVA540 團體佇列
有t個團隊的人正在排乙個長隊。每次新來乙個人時,如果他有隊友在排隊,那麼新人會插隊到最後乙個隊友的身後。如果沒有任何乙個隊友排隊,則他會被排到長隊的隊尾。輸入每個團隊中所有隊員的編號,要求支援如下3中指令 enqueue x 編號為x的人進入長隊 dequeue 長隊的隊首出隊 stop 停止模擬 ...
18 團體佇列(UVa540)
問題 有t個團隊的人正在排乙個長隊。每次新來乙個人時,如果他有隊友在排隊,那麼這個新人會插隊到最後乙個隊友的身後。如果沒有任何乙個隊友排隊,則他會排到長隊的隊尾。輸入每個團隊中所有隊員的編號,要求支援如下3種指令 前兩種指令可以穿插進行 enqueue x 編號為x的人進入長隊 dequeue 長隊...
UVA 540 團體佇列(queue)
有n個小組要排成乙個佇列,每個小組中有若干人。當乙個人來到佇列時,如果佇列中已經有了自己小組的成員,他就直接插隊排在自己小組成員的後面,否則就站在隊伍的最後面。請你編寫乙個程式,模擬這種小組佇列。輸入將包含乙個或多個測試用例。對於每個測試用例,第一行輸入小組數量t。接下來t行,每行輸入乙個小組描述,...