A. Regular Bracket Sequence(水题)

题意:给出一串字符,字符里有‘(’,')'和‘?’,规定 (())(), () 和 (()(())) 是正确的。‘?’可以变成‘(’或‘)’,如果本身满足条件或通过改变‘?’满足,输出YES,否则输出NO。

题解:注意题中有一句话:一个样例里只有一组括号。所以可以分类讨论:当‘)’在最前或‘(’在最后时,不满足条件,当字符个数为奇数时不满足条件。其他均满足。

ACcode:

int main()
{
int t;
string s;
cin >> t;
while (t--)
{
int a=0, sum=0,b=0;
cin >> s;
if (s[0] == ')' || s[s.size() - 1] == '(' || s.size() % 2 == 1)
cout << "NO" << endl;
else
cout << "YES" << endl;
}
return 0;
}

原文地址:https://www.cnblogs.com/Uiney117/p/14337437.html