Source Code
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
string s,t;
string ans;
bool go(int x,int y)
{

    string u="",v="";
    for(int i=t.size()-y;i<t.size();i++)u+=t[i];
    for(int i=x;i<s.size();i++)u+=s[i];
    for(int i=0;i<t.size()-y;i++)v+=t[i];
    for(int i=0;i<x;i++)v+=s[i];
    if(u==v){ans=u;return true;}
    return false;



}
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);

    cin>>s>>t;
    int u=s.size(),v=t.size();
    if((u+v)%2){cout<<-1;return 0;}
    int d=(u+v)/2;
    for(int i=0;i<=s.size();i++)
    {
        int r=d-(u-i);
        if(r<0 || r>v)continue;
        if(go(i,r)){cout<<ans<<endl;return 0;}
    }
    cout<<-1;
    return 0;
}
Copy
Right into Two Kaitokid
GNU G++17
121 ms
880 KB
Accepted