```cpp
#include<bits/stdc++.h>
using namespace std;
struct note{
string s;
int step;
}que[2510];
int head=0,n,tail=1;
string ss,fs,sa[8],sb[8];
int main()
{
int i,m,flag=0;
n=1;
cin>>ss>>fs;
while(cin>>sa[n]>>sb[n])
n++;
n--;
que[0].s=ss;
que[0].step=0;
if(ss==fs)
{
cout<<"NO ANSWER!"<<endl;
return 0;
}
while(head<tail)
{
for(i=1;i<=n;i++)
{
m=que[head].s.find(sa[i]);
if(m==-1)continue;
if(que[head].step==10)
{
flag=1;
break;
}
que[tail].s=que[head].s;
que[tail].s.replace(m,sa[i].size(),sb[i]);
que[tail].step=que[head].step+1;
if(que[tail].s==fs)
{
cout<<que[tail].step<<endl;
flag=1;
break;
tail++;
}
}
if(flag==1)break;
head++;
}
return 0;
}
```
重发代码。
by LighTeers @ 2018-12-14 11:02:05