首页 > 代码库 > HDOJ 5007 Post Robot

HDOJ 5007 Post Robot


索尼大法好


Post Robot

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)
Total Submission(s): 156    Accepted Submission(s): 134


Problem Description
DT is a big fan of digital products. He writes posts about technological products almost everyday in his blog.

But there is such few comments of his posts that he feels depressed all the day. As his best friend and an excellent programmer, DT asked you to help make his blog look more popular. He is so warm that you have no idea how to refuse. But you are unwilling to read all of his boring posts word by word. So you decided to write a script to comment below his posts automatically.

After observation, you found words “Apple” appear everywhere in his posts. After your counting, you concluded that “Apple”, “iPhone”, “iPod”, “iPad” are the most high-frequency words in his blog. Once one of these words were read by your smart script, it will make a comment “MAI MAI MAI!”, and go on reading the post. 

In order to make it more funny, you, as a fan of Sony, also want to make some comments about Sony. So you want to add a new rule to the script: make a comment “SONY DAFA IS GOOD!” when “Sony” appears.
 

Input
A blog article described above, which contains only printable characters(whose ASCII code is between 32 and 127), CR(ASCII code 13, ‘\r’ in C/C++), LF(ASCII code 10, ‘\n’ in C/C++), please process input until EOF. Note all characters are case sensitive.

The size of the article does not exceed 8KB.
 

Output
Output should contains comments generated by your script, one per line.
 

Sample Input
Apple bananaiPad lemon ApplepiSony 233 Tim cook is doubi from Apple iPhoneipad iPhone30 is so biiiiiiig Microsoft makes good App.
 

Sample Output
MAI MAI MAI! MAI MAI MAI! MAI MAI MAI! SONY DAFA IS GOOD! MAI MAI MAI! MAI MAI MAI! MAI MAI MAI!
 

Source
2014 ACM/ICPC Asia Regional Xi‘an Online
 


#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

char word[10000000];

char Apple[6]="Apple";
char iPad[5]="iPad";
char iPhone[7]="iPhone";
char iPod[5]="iPod";
char SONY[5]="Sony";

int id[5];

int main()
{
    while(scanf("%s",word)!=EOF)
    {
        int n=strlen(word);

        memset(id,0,sizeof(id));        

        for(int i=0;i<n;i++)
        {
            if(Apple[id[0]]==word[i])
                id[0]++;
            else id[0]=0;
            if(id[0]==5)
            {
                id[0]=0;
        <span style="white-space:pre">	</span>memset(id,0,sizeof(id));        
                puts("MAI MAI MAI!");
            }
            if(iPad[id[1]]==word[i])
                id[1]++;
            else id[1]=0;
            if(id[1]==4)
            {
                id[1]=0;
        <span style="white-space:pre">	</span>memset(id,0,sizeof(id));        
                puts("MAI MAI MAI!");
            }

            if(iPhone[id[2]]==word[i])
                id[2]++;
            else
                id[2]=0;

            if(id[2]==6)
            {
                id[2]=0;
        <span style="white-space:pre">	</span>memset(id,0,sizeof(id));        
                puts("MAI MAI MAI!");
            }

            if(iPod[id[3]]==word[i])
                id[3]++;
            else id[3]=0;
            if(id[3]==4)
            {
                id[3]=0;
        <span style="white-space:pre">	</span>memset(id,0,sizeof(id));        
                puts("MAI MAI MAI!");
            }

            if(SONY[id[4]]==word[i])
                id[4]++;
            else id[4]=0;

            if(id[4]==4)
            {
                id[4]=0;
        <span style="white-space:pre">	</span>memset(id,0,sizeof(id));        
                puts("SONY DAFA IS GOOD!");
            }
        }
    }
    return 0;
}



HDOJ 5007 Post Robot