题目链接
题目描述
小易喜欢的单词具有以下特性:
1.单词每个字母都是大写字母
2.单词没有连续相等的字母
3.单词没有形如“xyxy”(这里的x,y指的都是字母,并且可以相同)这样的子序列,子序列可能不连续。
例如:
小易不喜欢"ABBA",因为这里有两个连续的'B'
小易不喜欢"THETXH",因为这里包含子序列"THTH"
小易不喜欢"ABACADA",因为这里包含子序列"AAAA"
小易喜欢"A","ABA"和"ABCBA"这些单词
给你一个单词,你要回答小易是否会喜欢这个单词(只要不是不喜欢,就是喜欢)。

#include<iostream>
#include<algorithm>
#include<vector>
using namespace std;
int main()
{
    bool judge1(string s);
    bool judge2(string s);
    bool judge3(string s);     
    string str;
    while(cin>>str)
    {
        if(judge1(str) && judge2(str) && judge3(str))
        {
            cout<<"Likes"<<endl; 
        }else cout<<"Dislikes"<<endl;
    }
    
    return 0;
}
bool judge1(string s)
{
    for(int i=0;i<s.length();++i)
    {
        if(s[i]-'A'<0 || s[i]-'A'>=26) return false; 
    }    
    return true;
}
bool judge2(string s)
{
    for(int i=0;i<s.length()-1;++i)
    {
        if(s[i]==s[i+1]) return false;
    }
    return true;
}
bool judge3(string s)
{
    for(int x1=0;x1<s.length();++x1)
    {
        for(int y1=x1+1;y1<s.length();++y1)
        {
            for(int x2=y1+1;x2<s.length();++x2)
            {
                for(int y2=x2+1;y2<s.length();++y2)
                {
                    if(s[x1]==s[x2] && s[y1]==s[y2])
                    {
                        return false;
                    }
                }
            }
        }        
    }
    return true;
}
Last modification:September 20th, 2019 at 11:47 pm
如果觉得我的文章对你有用,请随意赞赏