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