#include<bits/stdc++.h>
using namespace std;
int main()
{
char a[256];
int l,r;
for(int i=0;i<=255;i++)
{
cin>>a[i];
if(a[i]==40) l++;
else if(a[i]==41) r++;
}
if(l==r) cout<<"YES";
else cout<<"NO";
return 0;
}
我是这么想的,正确匹配的(左括号数=右括号数)多个括号有包含、相交与相离三种情况(不过相交其实可以视为包含),而在这三种情况下应该都没有特殊情况啊