九十分……第三个点错了

P1739 表达式括号匹配

**第三个点的@并不在末尾。。。** 还有,你的代码过于麻烦,直接用栈: 从头到尾扫一遍,若是‘(’入栈;若是‘)’,栈空输出“NO”,否则出栈;**若是‘@’则退出循环**。 最后再判断一下:栈空输出“YES”,非空输出”NO“。 附上代码: ```cpp #include<bits/stdc++.h> using namespace std; int l,st; char s[260]; int main() { scanf("%s",s),l=strlen(s); for(register int i=0;i<l;i++) { if(s[i]=='@') break; if(s[i]=='(') st++; else if(s[i]==')') st--; if(st<0) printf("NO"),exit(0); } if(st) printf("NO"); else printf("YES"); return 0; } ```
by Vojiranto @ 2018-02-19 21:04:51


@[Roots](/space/show?uid=56488) 谢谢!!Thanks♪(・ω・)ノ
by Clever_Jimmy @ 2018-06-18 15:13:16


|