洛谷 AT4171 题解
题目传送门
题意:
给出两个字符串,可以对其中一个字符串进行操作,将最后一个字符插到最前面,问经过不限次的操作后,是否可以将这两个字符串变成一样的。输出 Yes 或 No。
思路:
这道题可以分几种情况来考虑:
-
两个字符串一开始就是相等的,不需要操作,直接输出
Yes。 -
两个字符串的长度不相同,无论经过多少次操作都不可能变成一样的,直接输出
No。 -
如果上述两种情况都不成立,直接模拟即可。共循环 \(n\) 次,每次将最后一个字符插入到最前面。
code:
#include
using namespace std;
string s1,s2;
int main(){
getline(cin,s1);
getline(cin,s2);
if(s1==s2){
printf("Yes");
}
else if(s1.length() != s2.length()){
printf("No");
}
else{
int len=s1.length();
for(int i=0;i