其他分享
首页 > 其他分享> > 题解 CF550A【Two Substrings】

题解 CF550A【Two Substrings】

作者:互联网

概述

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

解析

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

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

代码

#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;
}

标签:AB,BA,puts,int,题解,texttt,CF550A,Substrings,find
来源: https://www.cnblogs.com/Xsmyy/p/14900652.html