stl乱搞即可
#include <iostream>
#include <cstring>
#include <map>
#include <cstdio>
using namespace std;
string s1,s2,goal,tem;
map<string ,int> use;
int n,step,len,f,cas=1;
string merge(string a,string b,int n){
string c;
for(int i = 0;i<n;i++) c += b[i],c += a[i];
return c;
}
int main(){
cin>>n;
while(n--){
step = 1;f=1;
use.clear();
cin>>len;getchar();
getline(cin,s1);getline(cin,s2);getline(cin,goal);
tem = merge(s1,s2,len);
while(tem != goal){
if(use.count(tem)) {
f = 0;break;
}
use[tem] = 1;
s1 = tem.substr(0,len);
s2 = tem.substr(len);
step++;
tem = merge(s1,s2,len);
}
if(!f) cout<<cas++<<' '<<-1<<endl;
else cout<<cas++<<' '<<step<<endl;
}
return 0;
}