[ACM]躲猫猫

Description

 calmound一回来就突然离奇失踪了,后来发现原来是偷偷地躲在了妹子群中。你能不能找到他,把他抓回来做题呢?

Input

 输入包含多组数据,直到文件EOF结束。每组数据给你一个字符串,字符串长度<=100。仅包含小写字母.

Output

 如果字符串中包含calmound则输出Yes,否则输出No

Sample Input

acalmounddasd
dacaldasmound

Sample Output

Yes
No

解题思路:
指定的字符串不是很长,所以只要找到开头字母,然后剩下的一位一位的比较看是否符合,如果都符合,则Yes。要注意的是,指定的字符串在输入中不一定只有一个,我们只要找出第一个就可以出答案了。

代码:
#include <iostream>
using namespace std;
#include <string>
int main()
{
    string a;
    while(cin>>a)
    {
        int t;
        t=a.length();
        int j,i;
        bool prime;
        prime=false;
        for(i=0;i<t;i++)
        {
            if(a[i]=='c')//首先找到c的位置,因为只要有c,才有可能包括指定的字符串
            {
            j=i;
            if(a[j+1]=='a')
              if(a[j+2]=='l')
                if(a[j+3]=='m')
                    if(a[j+4]=='o')
                        if(a[j+5]=='u')
                            if(a[j+6]=='n')
                                if(a[j+7]=='d')
                                {
                                    prime=true;
                                    break;//只要发现一个指定的字符串 ,就结束,不用向后查找了。
                                }
            }
        }
        if(prime)
            cout<<"Yes"<<endl;
        else
            cout<<"No"<<endl;
    }
    return 0;
}


运行截图:


原文地址:https://www.cnblogs.com/sr1993/p/3697850.html