文章
5
粉丝
409
获赞
7
访问
52.1k
#include<iostream>
#include<string>
using namespace std;
int main()
{
int n;
cin>>n;
while(n--)
{
string s;
cin>>s;
int mini=0,small=0,mid=0,big=0;//括号净数量,表示未闭合的括号数量,遇到左括号++,右括号--
for(auto c:s)
{
switch(c) //每次都要判断所有低级别的括号是否已闭合。遇到右括号,要判断对应的左括号是否够用。
{
case '<':mini++;
break;
case '>':mini--;if(mini<0 ) goto end;
break;
case '(':small++;if(mini) goto end;
break;
case ')':small--;if(small<0 || mini) goto end;
break;
case '[':mid++;if(mini || small) goto end;
break;
case ']':mid--;if(mid<0 || mini || small) goto end;
break;
case '{':big++;if(mini || small || mid )goto end;
break;
...
登录后发布评论
打卡