codeforces550A. Two Substrings

题目如下

题目大意
在给定的字符串中分别找出‘AB'和’BA'两个子字符串,并要求不重叠,例如‘ABA',只能算作一个,要求两个都有才输出”YES“
题目分析
既然不知道‘AB'和’BA'谁会先出现,并且不允许重叠,那么就分两种情况,先‘AB'后’BA'和先‘BA'后’AB’;
将‘AB'和’BA'看作完全不同的两个子字符串分别确认存在。
以先‘AB'后’BA'为例,

如果不是这种情况,再进行先‘BA'后’AB‘的判断;
当然也可以加一个判读,通过‘AB'和’BA'的位置来判断是哪种情况避免重复执行。
当‘AB'和’BA'均被确认存在后,found为真,输出‘YES’,反之‘NO;
完整代码如下:

其实用暴力判断也可以,只是我想用更简便一点的,说实话我觉得这个也不咋简便,不管了,ac就好

posted @ 2025-04-20 00:14  sirro1uta  阅读(33)  评论(0)    收藏  举报