题目链接
题目描述
小易喜欢的单词具有以下特性:
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;
}