提交时间:2022-07-19 11:51:43
运行 ID: 52287
#include<bits/stdc++.h> using namespace std; template<typename T>inline T gcd(T m,T n){ return n?gcd(n,m%n):m; } int t,a,b; string s,r; int main(){ cin>>t; while(t--){ bool flag=0; cin>>s>>r>>a>>b; if(s==r){ puts("yes"); continue; } int d=gcd((int)s.size(),abs(a-b)); for(int i=d;i<s.size();i+=d){ for(int j=0;j<d;j++)s+=s[j]; s.erase(s.begin(),s.begin()+d); if(s==r){ puts("yes"),flag=1; break; } } if(!flag)puts("no"); } return 0; }