logo AlgoBeat OnlineJudge
登录 注册

题解

作者: _ZXY_  ·  发布于 2026-05-26 20:54:12  ·  最后修改于 2026-05-27 22:49:29
已通过
审核员:AlgoBeat 官方账号 · 2026-05-27 22:49:29

算法介绍

展示一种先进后出的容器。
STL 给我们提供了一个容器—— stack
这个容器是实现了一个栈的操作,有以下几种操作 :
1.s.push:向栈中加入元素。
2.s.pop:栈顶出栈。
3.s.empty:判断栈是否为空。
4.s.size:栈内元素个数。

正确性证明

还用证明?

时间复杂度

#include <bits/stdc++.h>
using namespace std;
#define int unsigned long long

char op[10];
int x, T, cas;
signed main() {
    stack<int> s;
    scanf("%llu", &T);
    while (T--) {
        scanf("%s", op);
        if (op[0] == 'p' && op[1] == 'u') {
            scanf("%llu", &x);
            s.push(x);
        } else if (op[0] == 'p' && op[1] == 'o') {
            if (s.empty())
                puts("Empty");
            else
                s.pop();
        } else if (op[0] == 'q') {
            if (s.empty())
                puts("Anguei!");
            else
                printf("%llu\n", s.top());
        } else if (op[0] == 's') {
            printf("%llu\n", (long long)s.size());
        }
    }
    return 0;
}

暂无评论

登录 后即可评论。