题解 CF550A【Two Substrings】

概述

题号 难度 \(AC\)时间及记录
\(\texttt{CF550A}\) \(\texttt{洛谷难度:普及/提高-}\) \(\texttt{On 2021/06/14}\)

解析

这道题目题目意思不难理解,
我们看到样例一就知道了选择的 \(AB\) 和 \(BA\) 位置不能冲突。
所以说我们只有两种情况:

  • 先找 \(AB\),再找 \(BA\):
  • 先找 \(BA\),再找 \(AB\)

然后我们就用字符串里的 \(\texttt{find}\) 函数直接搜。
找到以后换一个不着边的字符串替换掉即可。题解 CF550A【Two Substrings】题解 CF550A【Two Substrings】

代码

#include<bits/stdc++.h>
using namespace std;
string S,T;
int main(void)
{
	cin>>S,T=S;register int F=S.find("AB");
	if(F!=-1)
	{
		S.replace(F,2,"JXT"),F=S.find("BA");
		if(F!=-1)puts("YES"),exit(0);
	}
	S=T,F=S.find("BA");
	if(F!=-1)
	{
		S.replace(F,2,"JXT"),F=S.find("AB");
		if(F!=-1)puts("YES"),exit(0);
	}
	puts("NO");
	return 0;
}
上一篇:【视频】vue组件之props属性


下一篇:jdk 错误1316 指定账户已存在 与 jdk1.7安装和配置环境变量 与 jdk1.8与1.7版本的切换使用