ABC103 B - String Rotation
問題はこちら atcoder.jp
方針
「 の末尾を取得し, の先頭に挿入→ の末尾以外を とする」という操作で, を「回転」させることができます。
を回転させて得られる文字列は高々 種類なので, 回の操作後までに と一致するか調べればよいです。
コード
#include <bits/stdc++.h> using namespace std; int main(){ string s,t; cin>>s>>t; string first; bool possible=false; for(int i=0; i<s.size(); i++){ first=s.substr(s.size()-1,1); s.insert(0,first); s=s.substr(0,s.size()-1); if(s==t){ possible=true; break; } } cout<<(possible ? "Yes" : "No")<<endl; }