Angry Grammar Nazi (水)

来源:互联网 发布:简易地图制作软件 编辑:程序博客网 时间:2024/05/16 23:45

题意:就是遇到这些字符的话愤怒值就+1;然后将愤怒值*10.注意的话就是先将每一段单词进行截取。

然后LOL的话无论出现多少次都只算一次(坑点)

#include <iostream>#include <stdio.h>#include <string.h>#include <algorithm>using namespace std;char tstr[100][100];int main(){    int t;    scanf("%d",&t);    getchar();    while(t--)    {        char str[1000];        char ss[100];        gets(str);        int len = strlen(str);        int i,j=0,k=0,flag=1;        for(i=0;i<len;i++)        {            if(str[i]==' ')                continue;            while(i<len)            {                tstr[j][k]=str[i];              //cout<<str[i];                k++;                i++;                if(i>=len||str[i]==' ')                {                    break;                }            }            tstr[j][k]='\0';            j++;            k=0;        }       // for(i=0;i<j;i++)cout<<tstr[i]<<endl;        int size = j;        int ans = 0;        for(i=0;i<size;i++)        {            if(strcmp(tstr[i],"u")==0||strcmp(tstr[i],"ur")==0)            {                ans++;            }            else if(strcmp(tstr[i],"should")==0&&i+1<size&&strcmp(tstr[i+1],"of")==0)            {                ans++;            }            else if(strcmp(tstr[i],"would")==0&&i+1<size&&strcmp(tstr[i+1],"of")==0)            {                ans++;            }        }     //   cout<<tstr[0]<<endl;        for(i=0;i<size;i++)        {            int len = strlen(tstr[i]);            for(j=0;j<len-2;j++)            {                if(tstr[i][j]=='l'&&tstr[i][j+1]=='o'&&tstr[i][j+2]=='l')                {                    ans++;                    break;                }            }        }        printf("%d\n",ans*10);    }    return 0;}


0 0