Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
99416 | 王泰兮 | 表达式括号匹配1 | C++ | 通过 | 100 | 0 MS | 248 KB | 896 | 2023-08-22 16:56:15 |
#include <iostream> #include <cstring> using namespace std; class int_stack{ private: int ed=-1; bool a[512]; 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; } }s; int main(){ bool flag=false; string h; cin >> h; for (int i = 0;i<h.size();i++){ if (h[i]=='('){ s.push(0); } else if (h[i]==')'){ if (s.empty()){ flag=true; break; } if (s.top()==1){ flag=true; break; } s.pop(); } else if (h[i]=='['){ s.push(1); } else if (h[i]==']'){ if (s.empty()){ flag=true; break; } if (s.top()==0){ flag=true; break; } s.pop(); } } if (!s.empty()||flag){ cout << "Wrong"; } else{ cout << "OK"; } }