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
如果你覺得這篇文章很棒,請你不吝點讚 (゚∀゚)