Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
99395 | 王泰兮 | 表达式括号匹配1 | C++ | 解答错误 | 70 | 0 MS | 256 KB | 798 | 2023-08-22 16:29:23 |
#include <iostream> #include <cstring> using namespace std; class int_stack{ private: int ed=-1,a[1024]; public: void push(int x){ ed++,a[ed]=x; } int top(){ return a[ed]; } void pop(){ ed--; } int size(){ return ed+1; } bool empty(){ return ed==-1; } }; int_stack s1,s2; int main(){ bool flag=false; string h; cin >> h; for (int i = 0;i<h.size();i++){ if (h[i]=='('){ s1.push(i); } else if (h[i]==')'){ if (s1.empty()){ flag=true; break; } s1.pop(); } if (h[i]=='['){ s2.push(i); } else if (h[i]==']'){ if (s2.empty()){ flag=true; break; } s2.pop(); } } if (!s1.empty()||flag||!s1.empty()){ cout << "Wrong"; } else{ cout << "OK"; } }