JOI 2022 - Library 2

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 700 (p) Thời gian: 2.0s Bộ nhớ: 1G Input: bàn phím Output: màn hình

Bitaro thích đọc sách và quyết định mượn sách ở thư viện. Nhà của Bitaro khá chật, nên trên sàn chỉ có một khoảng trống đủ đặt một quyển sách. Tuy nhiên, phía trên có đủ chỗ, vì vậy Bitaro quyết định xếp các quyển sách chồng lên nhau tại khoảng trống này.

Bitaro sẽ thực hiện \(Q\) hành động. Hành động thứ \(i\) (\(1 \le i \le Q\)) được biểu diễn bởi xâu \(S_i\). Xâu \(S_i\) chỉ gồm các chữ cái tiếng Anh viết thường hoặc là READ, với ý nghĩa như sau:

  • Nếu \(S_i\) chỉ gồm các chữ cái tiếng Anh viết thường, Bitaro mượn quyển sách có tên \(S_i\) từ thư viện và đặt lên trên cùng của chồng sách.
  • Nếu \(S_i\)READ, Bitaro đọc quyển sách trên cùng của chồng sách rồi trả quyển đó cho thư viện.

Bạn muốn biết Bitaro đã đọc những quyển sách nào và theo thứ tự nào. Cho thông tin về \(Q\) hành động, hãy in ra tên các quyển sách mà Bitaro đã đọc, theo đúng thứ tự đọc.

Dữ liệu vào

Dữ liệu vào có dạng:

Q
S_1
S_2
...
S_Q

Dữ liệu ra

Với mỗi hành động có \(S_i\)READ, in ra tên quyển sách mà Bitaro đọc trong hành động đó. In các tên theo đúng thứ tự đọc, mỗi tên trên một dòng.

Ràng buộc

  • \(2 \le Q \le 200\,000\).
  • \(Q\) là số nguyên.
  • \(S_i\) là xâu có độ dài từ \(1\) đến \(10\) (\(1 \le i \le Q\)).
  • \(S_i\) chỉ gồm các chữ cái tiếng Anh viết thường hoặc là READ (\(1 \le i \le Q\)).
  • Có ít nhất một chỉ số \(i\) (\(1 \le i \le Q\)) mà \(S_i\)READ.
  • Mỗi khi \(S_i\)READ, chồng sách luôn có ít nhất một quyển (\(1 \le i \le Q\)).

Phân nhóm

  1. 40 điểm: \(Q \le 2000\).
  2. 60 điểm: Không có ràng buộc bổ sung.

Ví dụ

Ví dụ 1

Input
7
joi
joig
ioi
READ
egoi
READ
READ
Output
ioi
egoi
joig
Note

Bitaro thực hiện các hành động như sau:

  1. Đặt quyển sách joi vào khoảng trống. Chồng sách lúc này chỉ có joi.
  2. Đặt quyển sách joig lên trên. Các quyển sách từ trên xuống là joig, joi.
  3. Đặt quyển sách ioi lên trên. Các quyển sách từ trên xuống là ioi, joig, joi.
  4. Đọc và trả quyển sách ioi. Các quyển sách từ trên xuống còn lại là joig, joi.
  5. Đặt quyển sách egoi lên trên. Các quyển sách từ trên xuống là egoi, joig, joi.
  6. Đọc và trả quyển sách egoi. Các quyển sách từ trên xuống còn lại là joig, joi.
  7. Đọc và trả quyển sách joig. Chồng sách chỉ còn joi.

Vì vậy, in ra các tên sách ioi, egoi, joig theo thứ tự này, mỗi tên trên một dòng.

Ví dụ này thỏa mãn ràng buộc của tất cả các subtasks.

Ví dụ 2

Input
20
one
READ
two
three
four
five
six
seven
READ
eight
nine
READ
ten
eleven
READ
READ
twelve
READ
READ
READ
Output
one
seven
nine
eleven
ten
twelve
eight
six
Note

Ví dụ này thỏa mãn ràng buộc của tất cả các subtasks.

Nguồn

Đề bài Library 2, JOI 2021/2022, vòng loại thứ hai, bài 1 của Ủy ban Olympic Tin học Nhật Bản. Đề gốc và bản dịch tiếng Việt được cung cấp theo giấy phép CC BY-SA 4.0.

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: