HDU5007-Post Robot-2014西安网络赛(字符串水题)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5007

中文翻译题意是必备的:出现Apple、iPod、iPhone、iPad时输出MAI MAI MAI!,出现Sony,输出SONY DAFA IS GOOD!

好吧,这个来了个8KB还要我们自己算数据量。1KB=1024B,1B=8字节,一个字符等于一个字节,所以8KB=8*1024*8;

所以这个题目O(n)的复杂度遍历一遍就足够了,不用考虑太多了。。。

#include<iostream>
#include<string>
#include<cstring>
#include<cstdio>
#include<algorithm>
using namespace std;
string str;
int main()
{
    cin.sync_with_stdio(false);
    while(cin>>str){
        str+="    ";        //  因为这个让我RE了几次。。。可以直接用char避免这个问题;
        for(int i=0;i<str.size()-2;i++){
            if(str[i]=='A' && str[i+1]=='p' && str[i+2]=='p' && str[i+3]=='l' && str[i+4]=='e')
                 printf("MAI MAI MAI!\n");
             if(str[i]=='i' && str[i+1]=='P' && str[i+2]=='h' && str[i+3]=='o' && str[i+4]=='n'&&str[i+5] == 'e')
                 printf("MAI MAI MAI!\n");
             if(str[i]=='i' && str[i+1]=='P' && str[i+2]=='a' && str[i+3]=='d')
                 printf("MAI MAI MAI!\n");
             if(str[i]=='i' && str[i+1]=='P' && str[i+2]=='o' && str[i+3]=='d')
                 printf("MAI MAI MAI!\n");
             if(str[i]=='S' && str[i+1]=='o' && str[i+2]=='n' && str[i+3]=='y')
                 printf("SONY DAFA IS GOOD!\n");
        }
    }
    return 0;
}


 

你可能感兴趣的:(字符串水题,HDU5007)