Codeforces Round #375 (Div. 2) B. Text Document Analysis(字符串处理,简单题目)

来源:互联网 发布:端口在线扫描 编辑:程序博客网 时间:2024/06/06 01:07

题目链接:http://codeforces.com/contest/723/problem/B

【分析】求不在括号里的单词的长度和在括号里的单词的个数。立个flag表示所处状态就好了,0表示不在括号内,1表示在括号内,然后再扫一遍就OK了。

下面是AC代码:

#include<cstdio>#include<cstring>#include<algorithm>using namespace std;char a[355];int main(){    int n;    while(~scanf("%d",&n))    {        scanf("%s",a);        int len=strlen(a);        int s1=0,s2=0,flag=0,maxn=0;        for(int i=0;i<len;i++)        {            if(a[i]!='_'&&a[i]!='('&&a[i]!=')'&&flag==0)            {                s1++;                maxn=max(maxn,s1);            }            if(a[i]=='_')            {                s1=0;            }            if(a[i]=='(')            {                flag=1;                s1=0;            }            if(a[i]!='_'&&a[i]!='('&&a[i]!=')'&&(a[i+1]=='_'||a[i+1]=='('||a[i+1]==')')&&flag==1)            {                s2++;                s1=0;            }            if(a[i]==')'&&flag==1)            {                flag=0;                s1=0;            }        }        printf("%d %d\n",maxn,s2);    }    return 0;}
0 0
原创粉丝点击