在世界的東邊,有三瓶雪碧。
——laekov
黎大爺為了虐 zhx,給 zhx 出了這樣一道題。黎大爺搞了乙個資料結構,但
是他沒有告訴 zhx 這到底是什麼資料結構,我們只知道這是乙個資料結構。為了
讓 zhx 知道這是什麼資料結構,黎大爺製造了很多次的輸入和輸出操作。每次加
入操作,黎大爺會告訴你他向這個資料結構加入了乙個數並告訴你這是多少;每
次取出操作,黎大爺會從資料結構之中取出乙個數並告訴這是多少。黎大爺希望
zhx 根據這些操作來判斷這是什麼資料結構,但是 zhx 覺得這題太難了所以跑路
了,於是黎大爺把這道題扔給了你。
輸入格式:
第一行乙個整數n代表操作的數目。
接下來n行,每行兩個整數opt,v。如果opt = 1,代表黎大爺把v加入了資料
結構;如果opt = 2,代表了黎大爺從資料結構中取出了乙個數,值是v。
輸出格式:
輸出總共三行,第一行代表資料結構是否可能是棧,第二行代表資料結構是
否可能是佇列,第三行代表資料結構是否可能大根堆。每一行的結果都只可能是
「yes」或者「no」 。
輸入樣例#1:
21 12 1
輸出樣例#1:
yesyesyes
對於100%的資料,1 ≤ n ≤ 10 3 。
1 #include2 #include3 #include4 #include5 #include6using
namespace
std;
7int ans1,ans2,ans3;//
預設是目標資料結構
8 stacks;
9 queueq;
10 priority_queueheap;
11int
main()
1224
else
2534
if(d!=s.top())ans1=1;35
if(s.size()!=0)36
s.pop();
3738
if(d!=q.front())ans2=1;39
if(q.size()!=0)40
q.pop();
4142
if(d!=heap.top())ans3=1;43
if(heap.size()!=0)44
heap.pop();
4546}47
}48if(ans1==0
)49 cout<<"
yes"
<50else cout<<"no"
<51if(ans2==0
)52 cout<<"
yes"
<53else cout<<"no"
<54if(ans3==0
)55 cout<<"
yes"
<56else cout<<"no"
<57return0;
58 }
資料結構 判斷回文數
棧的基本應用 判斷回文數 include include include include define stack init size 100 儲存空間初始分配量 define stack increasement 10 using namespace std typedef struct sqst...
回文判斷 資料結構 棧
試編寫乙個演算法,判斷一次讀入的乙個以 結束符的字母序列是否為形容序 列1 序列2 模式的字串行。其中序列1 和序列2都不含字元 且序列2是序列1的你序列。列入,a b b a 時屬於該模式的字串行,而 1 3 3 1 不是 include include include typedef struc...
聯考20200525 T1 資料結構
分析 這道題可以看做單點修改區間查詢歷史最小值的資料結構題 區間修改單點查詢歷史版本可以使用二維資料結構維護 由於卡空間,這裡只能選擇kd樹 在kd樹上區間修改,歷史最值只需要統計單點到根節點的路徑上記錄的歷史最值就行了 關鍵是這道題如何轉化?我們把詢問離線,每乙個查詢 l,r 看做座標軸上的單點 ...