题解
2023-06-27 16:32:17
发布于:上海
24阅读
0回复
0点赞
# include<iostream>
# include<cstring>
using namespace std;
int gcd(int m,int n){
if(n==0) return m;
return gcd(n,m%n);
}
bool c(char p[],int l,int n){
for(int i=0;i<l-n;++i){
if(p[i]!=p[i+n]) return 0;
}
return 1;
}
bool e(char p[],char q[],int n){
for(int i=0;i<n;++i){
if(p[i]!=q[i]) return 0;
}
return 1;
}
void f(){
char s[23],s1[23];
cin>>s>>s1;
int a=strlen(s),b=strlen(s1),d=gcd(a,b);
for(int i=d;i>0;--i){
if(d%i==0&&c(s,a,i)&&c(s1,b,i)&&e(s,s1,i)){
for(int j=0;j<b/d;++j) cout<<s;
cout<<endl;
return;
}
}
cout<<-1<<endl;
}
int main(){
int t;
cin>>t;
for(int i=0;i<t;++i) f();
return 0;
}
这里空空如也
有帮助,赞一个