题目如下:
思路:
1.考虑开头就是) 肯定NO
2.每次输入一个数字一定是左括号大于等于右括号,否则NO
3.其余就是左右括号数目相等
代码如下:
#include<cstdio> #include<iostream> using namespace std; int main(){ char a[1000]; int i=0; int c=0,d=0; while(1) { scanf("%c",&a[i]); if(a[i]=='@') break; if(a[0]==')') { cout<<"NO"; return 0; } if(a[i]=='(') c++; if(a[i]==')') d++; if(d>c) { cout<<"NO"; return 0; } i++; } // cout<<c<<" "<<d<<endl; if(c!=d) cout<<"NO"; else cout<<"YES"; return 0; } //)(a+1)*(a+2)(@ //NO //(a*2*3+1*2+3)+(3*2)+(1*2))1*1(@ //NO //(0)*(2+2)*)3+4((3+10)@