Queue bang hai Stack

Xem dưới dạng PDF

Gửi bài giải


Điểm: 10
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Hãy cài đặt hàng đợi (queue) sử dụng hai ngăn xếp (stack). Queue hỗ trợ các thao tác:

  • push x: đưa x vào cuối queue.
  • pop: lấy phần tử đầu queue ra. Nếu queue rỗng, in -1.
  • front: in giá trị phần tử đầu queue (không xoá). Nếu queue rỗng, in -1.
  • size: in kích thước hiện tại của queue.

Nguyên lý: Dùng stack in để push, stack out để pop/front. Khi out rỗng và cần pop/front, trút toàn bộ in sang out.

Đầu vào
  • Dòng đầu tiên chứa số nguyên Q (1 ≤ Q ≤ 10^5).
  • Q dòng tiếp theo, mỗi dòng là một thao tác.
Đầu ra

Với mỗi thao tác pop, front, size, in kết quả trên một dòng.

Ví dụ
Input:
8
push 1
push 2
front
pop
size
push 3
pop
pop

Output:
1
1
1
2
3

Nhận xét

Không có ý kiến tại thời điểm này.