很好就HACK掉了
先出现右括号,再出现左括号就不合法
比如:
$$\huge\text{)(}$$
by XP3301_Pipi @ 2023-12-19 19:44:38
@[1111111x](/user/1086459)
给你一组 HACK:
in:
```
)))(((@
```
out:
```
NO
```
by xiaoshumiao @ 2023-12-19 19:44:40
@[1111111x](/user/1086459) 把左括号看成+1,把右括号看成-1
从左向右扫,如果出现了负数,就代表有右括号没有左括号匹配
最后再判断一下值是不是0就好了
by XP3301_Pipi @ 2023-12-19 19:47:31
```cpp
#include<bits/stdc++.h>
using namespace std;
char a[300];
int main()
{
int s=0,s1=0;
cin>>a;
for(int i=0;i<300;i++){
if(a[i]=='('){
s++;
}
if(a[i]==')'){
s1++;
}
}
for(int i=0;i<300;i++){
for(int j=0;j<i;j++){
if(a[i]==')'&&a[j]!='('){
cout<<"NO";
return 0;
}
}
}
if(s1==s) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
return 0;
}
```
改了一下,只有六十分
by Ghy_boy @ 2023-12-19 19:51:25