1 条题解
-
0
【模板】栈(Stack Template) 题解
思路分析
使用数组或
std::vector<unsigned long long>模拟栈。注意两点易错细节:一是元素范围 ,必须使用unsigned long long;二是单测试点含多组数据,每组数据开始时必须将栈顶指针清零;此外空栈pop输出Empty(无感叹号),空栈query输出Anguei!(有感叹号)。时间复杂度 。参考代码
#include <iostream> #include <string> using namespace std; const int MX = 1000005; unsigned long long stk[MX]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int T; if (!(cin >> T)) return 0; while (T--) { int n; cin >> n; int top = 0; for (int i = 0; i < n; ++i) { string op; cin >> op; if (op[0] == 'p' && op[1] == 'u') { unsigned long long x; cin >> x; stk[++top] = x; } else if (op[0] == 'p') { if (top == 0) cout << "Empty\n"; else --top; } else if (op[0] == 'q') { if (top == 0) cout << "Anguei!\n"; else cout << stk[top] << "\n"; } else { cout << top << "\n"; } } } return 0; }
- 1
信息
- ID
- 8528
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者