AT4171

· · 题解

思路

输入字符串 ss1s2 等于s,之后就 do while 循环,条件是 s2 不等于 s。判断 s2 是否等于 s1,是就输出,结束程序;不是就让 s2 等于自己的最后一位加上自己,再删除最后一个字符。

最后在外面输出 No 就好了。

代码


#include <iostream>
#include <string>
#include <cstdio>
#include <algorithm>
using namespace std;

int main() {
    string s,s1,s2;
    cin>>s>>s1;
    s2=s;

    do{
        if(s2==s1){
            cout<<"Yes";
            return 0;
        }
        s2=s2[s.size()-1]+s2;
        s2.erase(s2.end()-1); 
    }
    while(s2!=s);
    cout<<"No";
    return 0;
}