普通连续求助

P1032 [NOIP2002 提高组] 字串变换

```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


|