此题链接单击这里
=================
#include <iostream>
#include <string>
#include <vector>
using namespace std;
string a,b;
bool funt(int fa,int la,int fb,int lb)
{
int i,j;
for(i=fa,j=fb;i<la;i++,j++)
if(a[i]!=b[j])
break;
if(i==la)
return true;
if((la-fa)%2)
return false;
int k=(la-fa)/2;
if (funt(fa,fa+k,fb+k,lb)&&funt(fa+k,la,fb,fb+k))
return true;
if(funt(fa,fa+k,fb,fb+k)&&funt(fa+k,la,fb+k,lb))
return true;
return false;
}
int main()
{
cin>>a;
cin>>b;
if(funt(0,a.size(),0,b.size()))
cout<<"YES"<<endl;
else
cout<<"NO"<<endl;
return 0;
}
有问题联系企鹅791267032
邮箱地址….wutanrong@Hotmail.com