题目描述
给定一个不含空格的小写字符串,判断该字符串是否符合以下的规则:
字母a在字符串的中间,b在a的左边,c在a的右边,d在b的左边,e在c的右边······
如果符合规则,则输出"Yes",否则输出"No"。
输入格式
一行,一个包含小写a的字符串,长度小于100。
输出格式
一行,Yes或者No
输入/输出例子1
输入:
hfdbaceg
输出:
Yes
输入/输出例子2
输入:
febacdg
输出:
No
参考答案
#include <iostream> #include <string.h> using namespace std; bool zhao(int a,int b,int c,int d,int e,string s) { if(!(b<a)&&b!=-1)return false; if(!(c>a)&&c!=-1)return false; if(!(d<b)&&d!=-1&&b!=-1)return false; if(!(e>c)&&e!=-1&&c!=-1)return false; return true; } int main() { int a,b,c,d,e; string s; getline(cin,s); a=s.find("a"); bool f=false; for(int i=(s.size()-1)/2;i<=(s.size()-1)/2+1;i++) { if(a==i) { f=true; break; } } if(f==false) { printf("No"); exit(0); } b=s.find("b"); c=s.rfind("c"); d=s.find("d"); e=s.rfind("e"); if(zhao(a,b,c,d,e,s)==true)printf("Yes"); else printf("No"); return 0; }