题目链接http://codeforces.com/contest/723/problem/B
思路
按照题意模拟。
#include<cstdio>
#include<string.h>
#include<algorithm>
using namespace std;
bool pd(char c){
return (c>='A'&&c<='Z')||(c>='a'&&c<='z');
}
int main(){
int n;
char s[300];
scanf("%d%s",&n,s);
//n=strlen(s);
int mx=0;
int cnt=0;
for(int i=0;i<n;){
if(s[i]=='('){
int j=i+1;
for(;j<n;){
if(s[j]=='_')
j++;
else if(pd(s[j])){
while(pd(s[j])){
j++;
}
cnt++;
}
else if(s[j]==')'){
j++;
break;
}
}
i=j;
}
if(pd(s[i])){
int j=i;
int c=1;
while(pd(s[j+c])){
c++;
}
mx=max(mx,c);
i+=c;
}
if(s[i]=='_'){
i++;
}
if(s[i]==')'){
i++;
}
}
printf("%d %d\n",mx,cnt);
return 0;
}