#include #include #include #include #include #include #include #include #include using namespace std; #define LL __int64 const int maxn=4e5+10; const int INF=1e8; int ha[9]={1,1,2,6,24,120,720,5040,40320}; int dir[4][2]={{1,0},{0,-1},{0,1},{-1,0}}; char d[10]={"dlru"}; LL dd[2][4]={{0,1,2,3},{3,2,1,0}}; int vis[2][maxn],t,Min_ans; char ans[maxn],get[maxn]; LL c[2][maxn]; LL mm[30]; struct node{ int f[3][3]; int x,y; int g; int flag; LL path; int hash_num; }; int get_hash(node e) { int a[9],i,j,ii,jj,k=0,ans=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) a[k++]=e.f[i][j]; } for(i=0;i<9;i++) { k=0; for(j=0;ja[i])k++; ans+=ha[i]*k; } return ans; } string get_str(LL c,int flag,int kk) { int str[100]; int i,j,k=0; for(i=0;i=0;i--) s+=d[str[i]]; return s; } void bfs(node e,node ee) { memset(vis,-1,sizeof(vis)); int i,j,k,xx,yy,dis[2]; dis[0]=dis[1]=0; node a,b; e.hash_num=get_hash(e); e.g=0,e.flag=0; e.path=0; ee.hash_num=get_hash(ee); ee.g=0,ee.flag=1; ee.path=0; vis[0][e.hash_num]=0; vis[1][ee.hash_num]=0; if(e.hash_num==ee.hash_num){printf("0\n\n");return;} queueq; q.push(e); q.push(ee); Min_ans=INF; LL str; string res; while(!q.empty()) { e=q.front(); q.pop(); for(i=0;i<4;i++) { a=e; a.x=e.x+dir[i][0]; a.y=e.y+dir[i][1]; if(a.x<0||a.y<0||a.x>=3||a.y>=3)continue; swap(a.f[e.x][e.y],a.f[a.x][a.y]); k=get_hash(a); if(vis[e.flag][k]!=-1) { if(e.g+1>vis[e.flag][k])continue; else { if(e.flag)str=dd[e.flag][i]*mm[e.g]+e.path; else str=e.path*4+dd[e.flag][i]; if(c[e.flag][k]>str) c[e.flag][k]=str; } } else { vis[e.flag][k]=e.g+1; if(e.flag)c[e.flag][k]=dd[e.flag][i]*mm[e.g]+e.path; else c[e.flag][k]=e.path*4+dd[e.flag][i]; } a.hash_num=k; a.g++; a.path=c[e.flag][k]; if(vis[e.flag^1][k]!=-1) { string s=get_str(c[0][k],0,k)+get_str(c[1][k],1,k); t=s.length(); if(t>Min_ans) { cout<0)res=s; } } q.push(a); } } } void init() { int i,j,k; mm[0]=1; for(i=1;i<=30;i++) mm[i]=mm[i-1]*4; } int main() { init(); char a[30],b[30]; int T,tt=0; scanf("%d",&T); while(T--) { int i,j,k,n; node e,pp; scanf("%s",a); scanf("%s",b); n=strlen(a); for(i=0;i