Problem
有種資料結構(你不知道是什麼)支援兩種操作:放入、拿出。給定一個操作的序列,你要寫支程式推測出是哪種資料結構(stack
, queue
, priority queue
),不確定則輸出不確定,不知道輸出不知道。
輸入
每筆測資第一行有數字$n$($1 \le n \le{1000}$),代表有$n$筆操作
接著$n$行,每行有兩個數字,第一個數字是操作,1
是放入,後頭接著要放入的數字;2
是拿出,後頭接著要拿出的數字。
以EOF
結尾
輸出
輸出 | 意義 |
---|---|
stack |
是stack |
queue |
是queue |
priority queue |
是priority queue |
not sure |
不確定(可能是以上多種) |
impossible |
不知道 |
想法
直接實作stack
, queue
, priority queue
的功能(STL有),跟著操作就好。
如果有錯就代表不是那種資料結構。
AC code
https://github.com/roy4801/solved_problems/blob/master/uva/11995.cpp
如果你覺得這篇文章很棒,請你不吝點讚 (゚∀゚)