蒟蒻70分,流泪求助

P1739 表达式括号匹配

很好就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


|