問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
まずはキューを扱う練習として 3 つのキューを用意して、それらに基本操作を行いましょう。
はじめ 3 つのキューは空です。
次のいずれかの指示が N 回与えられるので、入力された順番に指示通りの操作をしてください。
全ての指示が終わった後、各キューに含まれる要素を先頭から順に出力してください。
・push S X
S 番目のキューの末尾に X を追加する。
・pop S
S 番目のキューの先頭の要素を取り出す。
N
Q_1
Q_2
...
Q_N
・3 つのキューの要素を次の順番で改行区切りで出力してください。
1 つ目のキューの先頭の要素
→...
→1 つ目のキューの末尾の要素
→2 つ目のキューの先頭の要素
→...
→2 つ目のキューの末尾の要素
→3 つ目のキューの先頭の要素
→...
→3 つ目のキューの末尾の要素
すべてのテストケースにおいて、以下の条件をみたします。
・1 ≦ N ≦ 10000
・Q_i は次のいずれかの形式
「push S X (1 ≦ S ≦ 3, 1 ≦ X ≦ 10000)」
「pop S(1 ≦ S ≦ 3)」
・空のキューに対する pop は与えられないことが保証されている
5
push 1 5
push 2 3
push 3 1
pop 2
pop 1
1
7
push 1 1
push 1 1
push 1 1
push 2 2
push 2 4
pop 1
push 3 3
1
1
2
4
3