Link Sub: http://www.spoj.com/PTIT/problems/BCQUEUE/
Người Gửi: Dương Lee
- Problem:
Ban đầu cho một queue rỗng. Bạn cần thực hiện các truy vấn sau:
- Trả về kích thước của queue
- Kiểm tra xem queue có rỗng không, nếu có in ra “YES”, nếu không in ra “NO”.
- Cho một số nguyên và đẩy số nguyên này vào cuối queue.
- Loại bỏ phần tử ở đầu queue nếu queue không rỗng, nếu rỗng không cần thực hiện.
- Trả về phần tử ở đầu queue, nếu queue rỗng in ra -1.
- Trả về phần tử ở cuối queue, nếu queue rỗng in ra -1.
Input
Dòng đầu tiên chứa số nguyên n - lượng truy vấn (1 <= n <= 1000)
N dòng tiếp theo, mỗi dòng sẽ ghi loại truy vấn như trên, với truy vấn loại 3 sẽ có thêm một số nguyên, không quá 10^6.
Output
In ra kết quả của các truy vấn.
Example:
In ra kết quả của các truy vấn.
Input
14
3 1
3 2
3 3
5
6
4
4
4
4
4
3 5
3 6
5
1
Output:
1
3
5
2
- Solution:
Đây là bài cấu trúc dữ liệu cơ bản. Sơ lược qua:
- Một queue gổm mảng giá trị, front (phần tử đầu tiên) và back (phần tử cuối cùng).
- Hoạt động theo cơ chế FIFO: Vào trước tiên ra đầu tiên