QUEUE - Truy vấn với hàng đợi

Xem dạng PDF

Gửi bài giải

Điểm: 1,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Bạn được cho một hàng đợi rỗng và một số truy vấn với hàng đợi này. Các truy vấn là những truy vấn cơ bản của hàng đợi: Đẩy vào cuối hàng đợi, lấy ra ở đầu hàng đợi, in ra phần tử ở đầu hàng đợi, các truy vấn có dạng:

  • ~1\ n:~ Đẩy số nguyên ~n~ vào cuối hàng đợi
  • ~2:~ Loại bỏ phần tử ở đầu đầu hàng đợi (nếu hàng đợi rỗng thì thao tác này không có hiệu lực)
  • ~3:~ In ra phần tử ở đầu hàng đợi (không lấy ra khỏi hàng đợi, nếu hàng đợi rỗng thì in ra Empty! )

Input

  • Dòng đầu chứa số nguyên dương ~T~ là số truy vấn;
  • ~T~ dòng tiếp theo, mỗi dòng chứa một truy vấn.

Giới hạn:

  • ~1 ≤ T ≤ 10^5; |n| ≤ 10^9~.

Output

  • Ứng với mỗi truy vấn loại ~3~, in ra kết quả tương ứng trên một dòng.

Sample

Input #1
8
1 5
1 7
1 6
2
3
2
2
3
Output #1
7
Empty!

Problem source: Chuyên Sơn La Online Judge


Bình luận

Hãy đọc nội quy trước khi bình luận.



  • -1
    hohoanghai5042011  đã bình luận lúc 20, Tháng 1, 2024, 10:06

    include <iostream>

    include <queue>

    int main() { int n; std::cin >> n;

    std::queue<int> myQueue;
    
    for (int i = 0; i < n; ++i) {
        int query;
        std::cin >> query;
    
        if (query == 1) {
    
            int num;
            std::cin >> num;
            myQueue.push(num);
        } else if (query == 2) {
    
            if (!myQueue.empty()) {
                myQueue.pop();
            }
        } else if (query == 3) {
    
            if (!myQueue.empty()) {
                std::cout << myQueue.front() << std::endl;
            } else {
                std::cout << "Empty!" << std::endl;
            }
        }
    }
    
    return 0;
    

    }