题解
2023-10-30 19:58:06
发布于:浙江
49阅读
0回复
0点赞
这道题比较简单,只需要先判断是不是meow四个字母都有,再判断首尾是不是分别为m和w,然后进行一个for循环,从s[1]到s[len-1],
如果s[i]是w,那么他前面的数只能是m,
如果是e,前面只能是e和m,
如果是o,前面只能是e和o,
如果是w,前面只能是w和o。
如果不满足,直接输出NO然后return 0.
code:
#include<bits/stdc++.h>
using namespace std;
char s[101];
int main(){
scanf("%s",&s);
int len=strlen(s);
bool a=false,b=false,c=false,d=false;
for(int i=0;i<=len-1;i++){
if(s[i]=='M'||s[i]=='m') a=true;
else if(s[i]=='E'||s[i]=='e') b=true;
else if(s[i]=='O'||s[i]=='o') c=true;
else if(s[i]=='w'||s[i]=='W') d=true;
}
if(a==false||b==false||c==false||d==false) {
cout<<"NO";
return 0;
}
if(s[0]!='m'&&s[0]!='M'||s[len-1]!='w'&&s[len-1]!='W'){
cout<<"NO";
return 0;
}
for(int i=1;i<=len-1;i++){
if(s[i]=='m'||s[i]=='M'){
if(s[i-1]!='m'&&s[i-1]!='M'){
cout<<"NO";
return 0;
}
}
else if(s[i]=='e'||s[i]=='E'){
if(s[i-1]!='e'&&s[i-1]!='E'&&s[i-1]!='M'&&s[i-1]!='m'){
cout<<"NO";
return 0;
}
}
else if(s[i]=='o'||s[i]=='O'){
if(s[i-1]!='o'&&s[i-1]!='O'&&s[i-1]!='E'&&s[i-1]!='e'){
cout<<"NO";
return 0;
}
}
else if(s[i]=='w'||s[i]=='W'){
if(s[i-1]!='o'&&s[i-1]!='O'&&s[i-1]!='W'&&s[i-1]!='w'){
cout<<"NO";
return 0;
}
}
else{
cout<<"NO";
return 0;
}
}
cout<<"YES";
return 0;
}
代码虽长,但是简单。
别忘了加入我的团队:
中国
这里空空如也
有帮助,赞一个