Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- const int N = 1000000;
- char a[N], b[N];
- int equiv(string a, string b) {
- if (a == b) return 1;
- if (a.length()%2) return 0;
- int len = a.length();
- string a1 = a.substr(0, len/2);
- string a2 = a.substr(len/2,len/2);
- string b1 = b.substr(0, len/2);
- string b2 = b.substr(len/2,len/2);
- return (equiv(a1, b2) and equiv(a2, b1)) or (equiv(a1, b1) and equiv(a2, b2));
- }
- int main() {
- scanf("%s %s", a, b);
- printf("%s\n", equiv(a, b)?"YES":"NO");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement