80pts WA on #5 求调
查看原帖
80pts WA on #5 求调
593635
wumingxuan楼主2025/1/23 21:14

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;
}

提交记录

2025/1/23 21:14
加载中...