rt
#include<bits/stdc++.h>
using namespace std;
string a,b,aa[10],bb[10],s,ns;
queue<string>q;
queue<int>qn;
map<string,bool>mp;
int main()
{
cin>>a>>b;
int n=0,ans,f;
while(cin>>aa[++n]>>bb[n]);
n--;
q.push(a);
qn.push(1);
while(!q.empty())
{
s=q.front();
q.pop();
ans=qn.front();
qn.pop();
for(int j=1;j<=n;j++)
{
f=s.find(aa[j],0);
if(f!=-1)
{
ns=s;
ns.erase(f,aa[j].length());
ns.insert(f,bb[j]);
if(ns==b)
{
cout<<ans;
return 0;
}
if(ans==10)
{
cout<<"NO ANSWER!";
return 0;
}
if(mp[ns])continue;
mp[ns]=1;
q.push(ns);
qn.push(ans+1);
}
}
}
cout<<"NO ANSWER!";
return 0;
}
提交记录