括号的深度 Time Limit:1000MS Memory Limit:65536K Description 经常写程序的你可能有时会因为括号不匹配而收到编译器的报错,今天你的任务不仅仅是检查括号是否匹配,还要检查一下括号最大的嵌套层数,简称深度吧。括号匹配的规则参考编程语言中的括号合法性检查。 Input 第1行:一个字符串,包含字母、数字和英文括号'('、')',长度小于10000 Output 每组数据输出一行,第N组数据格式如下: Sample Input
(())(((())))
(a)(b)(c)(d)(e)(f)(g)(h)
(()))
Sample Output
4
1
Error Source
|
[Submit] [Go Back] [Status] [Discuss]
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char a[1001];
int len;
while(cin>>a)
{
int count=0,max=0,x=0,y=0;
len=strlen(a);
for(int i=0; i<len; i++)
{
if(a[i]=='(')
{
count++;
x++;
if(count>max)max=count;
}
else if(a[i]==')')
{
count=0;
y++;
}
if(y>x)
{
cout<<"Error"<<endl;
break;
}
}
if(x==y)
cout<<max<<endl;
else if(x>y)
cout<<"Error"<<endl;
}
return 0;
}