競技プログラミング用 知識集積所

ABC402B - Restaurant Queue

最終更新:

sport_programming

- view
管理者のみ編集可


問題


必要知識

A問題レベルのものは省略

考え方

何かのデータを記憶しておき、後で先に来た方から順に出力するならqueueの出番。
「1つcinして、それが1だったらもう1つcinしてqueueに追加、2だったら出力してpop」をQ回ループさせる。

解答例


注意点

vectorで先頭削除をしない

vectorでも似たようなことができそうに見えるが、実はvectorは先頭の削除が非常に苦手で、時間がかかる。
今回はB問題なのでそれでも制限時間に間に合うが、できれば避けるようにしたい。

別解

vectorでどうにかする

vectorは先頭削除は苦手だが、ならば先頭削除をしないように実装すればよい。
すなわち、これまでに何人を案内したかを記録しておく方針であれば、vectorでも実装可能。
解答例

タグ:

queue
ウィキ募集バナー