Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
99490 胡晏玮 表达式括号匹配2 C++ 编译错误 0 0 MS 0 KB 902 2023-08-22 21:24:06

Tests(0/0):


#include <iostream> #include <cstring> using namespace std; void _init_(char arr[],int &top){ arr = {}; top = 0; } void _push_(int &top,char arr[],char value,int maxhigh){ if(top < maxhigh){ top++; arr[top] = value; } } char _pop_(int &top,char arr[]){ if(top > 0){ top--; return arr[top+1]; } return -1; } bool _notempty_(int top){ return top; } int main(){ char arr[101],s[100]; int top; _init_(arr,top); cin.getline(s,100); for(int i=0;i<strlen(s);i++){ if(s[i] == '('){ _push_(top,arr,')',100); } else if(s[i] == '['){ _push_(top,arr,']',100); } else if(s[i] == '{'){ _push_(top,arr,'}',100); } else if((s[i]==')' || s[i]==']' || s[i]=='}') && (!_notempty() || s[i] == _pop_(top,arr))){ cout << "NO"; return 0; } } if(_notempty_(top)){ cout << "NO"; return 0; } cout << "YES"; return 0; }


测评信息: