1. paizaラーニングトップ
  2. レベルアップ問題集
  3. スタック・キューメニュー応用編(言語選択)
  4. 問題一覧
  5. 3 つのキュー

スタック・キューメニュー応用編のサムネイル
3 つのキュー(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

まずはキューを扱う練習として 3 つのキューを用意して、それらに基本操作を行いましょう。
はじめ 3 つのキューは空です。
次のいずれかの指示が N 回与えられるので、入力された順番に指示通りの操作をしてください。
全ての指示が終わった後、各キューに含まれる要素を先頭から順に出力してください。

・push S X
S 番目のキューの末尾に X を追加する。

・pop S
S 番目のキューの先頭の要素を取り出す。

入力される値

N
Q_1
Q_2
...
Q_N


・1 行目では与えられる指示の回数 N が与えられます。
・2 行目からの N 行では、キューの操作の指示が与えられます。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

・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 は与えられないことが保証されている

入力例1

5
push 1 5
push 2 3
push 3 1
pop 2
pop 1

出力例1

1

入力例2

7
push 1 1
push 1 1
push 1 1
push 2 2
push 2 4
pop 1
push 3 3

出力例2

1
1
2
4
3

問題一覧へ戻る

ページの先頭へ戻る