Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
99487 胡晏玮 表达式括号匹配1 C++ 解答错误 0 0 MS 252 KB 888 2023-08-22 21:18:03

Tests(0/10):


#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(_notempty_(top) && _pop_(top,arr)==s[i]){ continue; } else{ cout << "No"; return 0; } } if(_notempty_(top)){ cout << "No"; return 0; } cout << "Yes"; return 0; }


测评信息: