ACGO # 挑战赛 15th T2题解
2025-02-23 22:39:55
发布于:江苏
24阅读
0回复
0点赞
这道题目数据量不大,所以直接暴力查找即可。这里,我们由题目条件可以注意到,能被通过的替换条件就是两组斜对角的相临字符分别相同,即S1[i]=S2[i+1]且S2[i]=S1[i+1]。
满足条件后别忘了将一个字符串这俩字符调换一下位置,不然后面的遍历会重复用之前的字符,这样就爆了(替换S1.S2均可)
满分AC代码:
#include <bits/stdc++.h>
using namespace std;
string s1,s2;
int main()
{
cin >> s1 >> s2;
int len = s1.size();
for(int i = 0;i < len-1;i++)
{
if(s1[i]!=s2[i])
{
if(s1[i] != s2[i+1] || s1[i] != s2[i+1])
{
cout << "No";
return 0;
}
else
swap(s2[i+1],s2[i]);
}
}
if(s1[len-1] != s2[len-1] && s1[len-2] == s2[len-2])
{
cout << "No";
return 0;
}
cout << "Yes";
return 0;
}
这里空空如也
有帮助,赞一个