akoj-1244-括号的深度

来源:互联网 发布:数据库中create table 编辑:程序博客网 时间:2024/06/05 03:24

括号的深度

Time Limit:1000MS  Memory Limit:65536K
Total Submit:6 Accepted:6

Description

经常写程序的你可能有时会因为括号不匹配而收到编译器的报错,今天你的任务不仅仅是检查括号是否匹配,还要检查一下括号最大的嵌套层数,简称深度吧。括号匹配的规则参考编程语言中的括号合法性检查。 

Input

第1行:一个字符串,包含字母、数字和英文括号'('、')',长度小于10000 
多组测试数据,以文件结束EOF作为输入结束 

Output

每组数据输出一行,第N组数据格式如下: 
第N行:代表第N组数据的结果,如果括号是匹配的,输出最大的层数,如果括号不匹配,输出Error 

Sample Input

(())(((())))(a)(b)(c)(d)(e)(f)(g)(h)(()))

Sample Output

41Error

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;}

0 0
原创粉丝点击