UESTC 1846Angry Grammar Nazi 字符串

         比赛时队友一遍AC了,但事实上这个题通过率只有20.3%,比赛结束后我竟然是WA2次,RTE2次,第一次没有读好题,对于"u"  "ur" "should of"  "would of"  的判断是以单词的形式,而"lol"是只要在一个单词中出现就可以,例如lolal,这样,还有lolalol这样的只是算作1次。总之,字符串的题目还是弱项!

       #include<cstdio>
#include<cstring>
using namespace std;
int main()
{
    //freopen("in.txt","r",stdin);
    int cas,i,j,sum,len,flagl;
    char sen[110],word[110];
    scanf("%d\n",&cas);
    while(cas--)
    {
        sum=0;
        fgets(sen,110,stdin);
        len=strlen(sen)-1;
        i=0;
        while(1)
        {
            int g=0;
            for(; sen[i]!=' '&&sen[i]!='\n'; i++)
                word[g++]=sen[i];
            word[g]='\0';
            if(strcmp(word,"would")==0||strcmp("should",word)==0)
            {
                if(i+3<=len&&sen[i+1]=='o'&&sen[i+2]=='f'&&(sen[i+3]==' '||sen[i+3]=='\n'))
                {
                    sum++;
                    i+=3;
                    continue;
                }
            }
            if(strcmp(word,"u")==0||strcmp(word,"ur")==0)
            sum++;
            flagl=0;
            for(j=0; j<g; j++)
            {
                if(g-j>=3&&word[j]=='l'&&word[j+1]=='o'&&word[j+2]=='l'&&!flagl)
                {
                    sum++;
                    flagl=1;
                }
            }
            if(sen[i]!='\n')
                i++;
            else break;
        }
        printf("%d\n",sum*10);
    }
    return 0;
}
 				    


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值