HDU 5071 Chat
題意:
CLJ找了許多妹子… (題目好沒節操…) 對於CLJ和妹子的聊天對話框 有一下幾種操作:
add 加一個妹子在聊天窗隊列末尾 如果這個妹子已經在隊列中則add失敗
close 關掉某個妹子的聊天窗口 如果沒有這個妹子的對話框則close失敗 如果成功要輸出和這個妹子說過幾個詞
chat 和最前面妹子說一些話 如果沒有窗口打開則chat失敗
rotate 將某個妹子移到最前面 如果尋找妹子時發現超出隊列范圍則rotate失敗
prior 將優先級最高妹子移到最前面 如果沒有對話框則prior失敗
choose 選擇某個妹子移到最前面 如果該妹子不在隊列則choose失敗
top 選擇某個妹子將她的狀態變為總在最前 如果妹子不在隊列則top失敗 如果曾經有總在最前的妹子 則取代之
untop 撤銷總在最前狀態 如果沒人總在最前則untop失敗
最後按照隊列順序 與每一個曾經說過話的妹子道別
思路:
模擬題… 寫寫寫…
總在最前是一種狀態 要理解 它並不直接改變隊伍形狀
即 第三個妹子被top 再被untop 這時這個妹子依然站在第三個位置上
注意幾個坑點:
close時候可能關掉的是總在最前的妹子的對話框 這時總在最前也同時消失
chat要用__int64存儲每個妹子對話過幾個詞
最後道別時候應該先於總在最前的妹子道別
代碼:
#include
#include
#include
#include
#include
#include