秋祭2023 F問題 - Brinking Iced Tea


Submit solution

Points: 200
Time limit: 2.0s
Memory limit: 1000M

Author:
Problem type
Allowed languages
C++, Python

この問題は「2023秋祭」のアーカイブです。2023 Akisai-F

F問題 - Brinking Iced Tea

実行時間制限: 2 sec / メモリ制限: 1024 MB

問題文

優しいT先輩は後輩のC君のために冷蔵庫から飲み物を持っていこうと思いました。

T先輩の冷蔵庫は特殊で、冷蔵庫に入れたのが古い順からしか取り出すことができません。より厳密には、冷蔵庫に飲み物が存在しているとき、その中でより前のクエリで入れられた飲み物を1つ取り出すことができます。

初め冷蔵庫は空です。以下の2種類のクエリ(1.,2.)が 個与えられるので、与えられた順番に処理してください。また、全クエリを達成したのち、冷蔵庫に入っている飲み物の本数を求めてください。

クエリ\(query_i\)(\(1 \leq i \leq N\))
  1. 1 S: 文字列 として与えられる飲み物を1つ追加する。
  2. 2: 冷蔵庫から1つ飲み物を取り出す。 飲み物が冷蔵庫にない場合は何もなくてごめんねを出力せよ。 冷蔵庫から飲み物\(S\)を取り出し、冷蔵庫にほかに飲み物がない場合は\(S\)に続けてしかなかったんだけどいいかなを出力せよ。ほかに飲み物がある場合は\(S\)に続けてだけどいいかなを出力せよ。

制約

  • \(1 \leq Q \leq 10000\)
  • \(1 \leq |S| \leq 20\)
  • \(Q\)は整数、\(S\)は大小英文字として各クエリで与えられる。

入力

入力は以下の形式で標準入力から与えられる。

Q
query_1
query_2
...
query_Q

\(i\)番目のクエリ\(query_i\)が1.であるとき、種類を表す数字(=1)に続いて文字列が与えられる。

1 S

または、

2

出力

\(i\)番目のクエリが2.であるときそのクエリによって処理された文字列を1行で出力せよ。(各クエリに対して1行で出力せよ。)

全クエリを達成したのち、冷蔵庫に入っている飲み物の本数を出力せよ。

入力例1
6
1 Tea
1 Coffe
2
2
2
1 Tea
出力例1
Teaだけどいいかな
Coffeしかなかったんだけどいいかな
何もなくてごめんね
1
  • 1,2番目のクエリでTeaとCoffeがこの順番で冷蔵庫に追加される。
  • 3番目のクエリのとき、冷蔵庫からTeaを取り出す。冷蔵庫にはCoffeがあるのでTeaだけどいいかなを出力する。
  • 4番目のクエリのとき、冷蔵庫からCoffeを取り出す。冷蔵庫には他に飲み物がないのでCoffeしかなかったんだけどいいかなを出力する。
  • 5番目のクエリのとき、冷蔵庫には何も入っていないので、何もなくてごめんねを出力する。
  • 6番目のクエリでTeaを冷蔵庫に追加する。
  • 冷蔵庫にはTeaが残っている。全クエリを達成したので、残っている本数1を出力する。
入力例2
2
1 IcedTea
2
出力例2
IcedTeaしかなかったんだけどいいかな
0
入力例3
2
2
2
出力例3
何もなくてごめんね
何もなくてごめんね
0

Comments

There are no comments at the moment.