CodeForces 550A Two Substrings(模拟)

网友投稿 878 2022-11-12

CodeForces 550A Two Substrings(模拟)

CodeForces 550A Two Substrings(模拟)

【题目链接】​​click here~~​​​  【题目大意】:  You are given string s. Your task is to determine if the given string s contains two non-overlapping substrings “AB” and “BA” (the substrings can go in any order).  Input  The only line of input contains a string s of length between 1 and 105 consisting of uppercase Latin letters.  Output  Print “YES” (without the quotes), if string s contains two non-overlapping substrings “AB” and “BA”, and “NO” otherwise.

Sample test(s)  input  ABA  output  NO  input  BACFAB  output  YES  给出一行字符,判断是否出现两个不重叠的字串“AB”和“BA”

代码

/*str.find()函数返回str在字符串中第一次出现的位置(从index开始查找)。如果没找到则返回string::npos, 返回str在字符串中第一次出现的位置(从index开始查找,长度为length)。如果没找到就返回string::npos, 返回字符ch在字符串中第一次出现的位置(从index开始查找)。如果没找到就返回string::npos */#include using namespace std;string str;int main(){ cin>>str; int len=str.size(); if(len<=3) puts("NO"); else { int a=str.find("AB"); int b=str.find("BA",a+2); int c=str.find("BA"); int d=str.find("AB",c+2); if(a!=-1&&b!=-1||c!=-1&&d!=-1) puts("YES"); else puts("NO"); } return 0;}/*strstr函数:查找字符串第一次出现的位置*/#includeusing namespace std;char str[200000],*p;int main(){ cin>>str; if((p=strstr(str,"AB")) && (strstr(p+2,"BA")))puts("YES"); else if((p=strstr(str,"BA")) && strstr(p+2,"AB"))puts("YES"); else puts("NO"); return 0;}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:HDU 1247 Hat's Words (字典树)
下一篇:Springboot hibernate
相关文章

 发表评论

暂时没有评论,来抢沙发吧~