文字列をシフトしていき、SとTが一致するかを調べればよい。 たとえば
5 2 AC CE
の場合、AC,BD,CE,DA,EBについてTと一致するかどうかを調べる。
xxxxxxxxxx
using namespace std;
int main(){
int n,m;cin >> n >> m;
string s,t;cin >> s >> t;
for(int k = 0; k < m; k++){
for(int i = 0; i < n; i++){
string news = "";
for(int j = 0; j < m; j++){
news+=(char)((s[j]+i)%n+'A');
}
if(news==t){
cout<<"Yes"<<endl;
return 0;
}
}
s.insert(s.begin(),s.back());
s.pop_back();
}
cout<<"No"<<endl;
return 0;
}