刚开始看见一层一层的括号本能觉得是栈的应用,后来一想它给的括号嵌套肯定是合法的,所以遇上一个左括号+1,遇上一个右括号-1,遇上B输出就可以了。。。。
code:
#include <cstdio> #include <cstring> using namespace std; char str[1001]; int main() { int len,i,cnt; while(~scanf("%s",str)) { len=strlen(str); cnt=0; for(i=0;i<len;i++) { if(str[i]=='(') { cnt++; }else if(str[i]==')'){ cnt--; }else{ break; } } printf("%d\n",cnt); } return 0; }