Stone的高数

Problem Description

Stone 最近要考概率论了,很奇葩的是概率论需要用到高数的知识,但是他忘记他有没有学过高数了。
现在 QAQ 给了他一个字符串,如果该字符串中能找到一段连续的 "gaoshu",那么 Stone 就可以想起以前学的高数,否则他只能重学。

那么问题来了,Stone 到底能不能想起来以前学的高数呢?

Input

输入数据有多组(数据组数不超过 100),到 EOF 结束。

每组数据输入一行长度不超过 1000 的字符串。

Output

如果字符串中包含至少一段连续的 "gaoshu",输出 "Good job!!!",否则输出 "QAQ"(不包含引号)。

Example Input
gaoshu
ACM International Collegiate Programming Contest
Probability Theory The Logic of Science
I love gaoshu (are you kidding me?)
gao liang shu le
Example Output
Good job!!!
QAQ
QAQ
Good job!!!
QAQ
Hint
Author
Stone
 
 

最裸的字符串匹配

遍历输入的字符串,如果为'g',判断从该位置之后是否为'aoshu',匹配成功跳出,否则从下一位置重新判断

 

#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
char s[1010];
char s1[] = "gaoshu";
int main()
{
    while(gets(s)!=NULL)
    {
        bool flag = 0;
        int len = strlen(s), j, k;
        for(int i = 0; i<len; ++i)
            if(s[i]==s1[0])
            {
                for( j = 1, k = i+1; j<6&&k<len; ++j,++k)
                    if(s1[j]!=s[k])break;
                if(j==6)
                {
                    flag = 1;
                    break;
                }
            }
        if(flag)printf("Good job!!!\n");
        else printf("QAQ\n");
    }
    return 0;
}



 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值