Advertisement
Guest User

Untitled

a guest
Sep 17th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.53 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int N = 1000000;
  5.  
  6. char a[N], b[N];
  7.  
  8. int equiv(string a, string b) {
  9. if (a == b) return 1;
  10. if (a.length()%2) return 0;
  11. int len = a.length();
  12. string a1 = a.substr(0, len/2);
  13. string a2 = a.substr(len/2,len/2);
  14. string b1 = b.substr(0, len/2);
  15. string b2 = b.substr(len/2,len/2);
  16. return (equiv(a1, b2) and equiv(a2, b1)) or (equiv(a1, b1) and equiv(a2, b2));
  17. }
  18.  
  19. int main() {
  20. scanf("%s %s", a, b);
  21. printf("%s\n", equiv(a, b)?"YES":"NO");
  22. return 0;
  23. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement