感觉这个题用一些常用的stl和string函数会非常简单。。(难道就是考这两个的吗?
vector>pos//用于变化map bj//用于判重
然后字串变化操作用 string的find+substr函数就可以解决
贴一下代码#include#define rep(a,b,c) for(int a=b;a<=c;a++)#define per(i,n,a) for (int i=n;i>=a;i--)#define PII pair #define INF 0x3f3f3f3fusing namespace std;typedef long long ll;vector >pos;map bj;int ans=INF;string a,b,c,d;struct uzi{ string a; int cnt;}j;queue p;int main(){ ios::sync_with_stdio(false); cin>>a>>b; while(cin>>c>>d){ pos.push_back(pair { c,d});} p.push(uzi{ a,0}); while(!p.empty()){ j=p.front(); p.pop(); if(j.a==b){ ans=min(ans,j.cnt);//找到就直接判断 if(ans>10){ cout<<"NO ANSWER!"; return 0; }else { cout<