STACK - Truy vấn với ngăn xếp

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, JavaScript, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

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

  • ~1\ n:~ Đẩy số nguyên n vào ngăn xếp
  • ~2:~ Loại bỏ phần tử ở đầu ngăn xếp (nếu ngăn xếp rỗng thì thao tác này không có hiệu lực)
  • ~3:~ In ra phần tử ở đỉnh ngăn xếp (không lấy ra khỏi ngăn xếp, nếu ngăn xếp 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
6
1 15
1 20
2
3
2
3
Output #1
15
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.



  • 2
    ______  đã bình luận lúc 9, Tháng 3, 2024, 7:38

    include <iostream>

    include <stack>

    using namespace std;

    int main() { long long w; cin >> w; stack<int> st;

    while (w--) {
        long long n;
        cin >> n;
    
        switch (n) {
            case 1: {
                int num;
                cin >> num;
                st.push(num);
                break;
            }
            case 2: {
                if (!st.empty()) {
                    st.pop();
                }
                break;
            }
            case 3: {
                if (!st.empty()) {
                    int hello = st.top();
                    cout << hello << endl;
                } else {
                    cout << "Empty!" << endl;
                }
                break;
            }
        }
    }
    
    return 0;
    

    }


  • 0
    devmobile  đã bình luận lúc 19, Tháng 2, 2024, 8:03 chỉnh sửa

    include<bits/stdc++.h>

    using namespace std; int main() { long long w; cin>>w; stack<int> st; while (w--) { long long n; cin>>n; switch (n) {

    case 1 : int n; cin>>n; st.push(n); break;

    case 2 : if(!st.empty()) { st.pop(); }

        break;
    

    case 3 : if(!st.empty()) { int hello=st.top(); cout<<hello< } else { cout<<"Empty!"<<endl; } }

    }

    return 0;
    

    }]