求助RE+MLE
查看原帖
求助RE+MLE
270854
二叉苹果树楼主2021/10/22 23:02
#include<bits/stdc++.h>
using namespace std;
struct crood{
	string s;
	int cnt;
};
queue<crood>Q;
string a,b;
string x[10],y[10];
int main()
//substr
{
	cin>>a>>b;
	int n=0;
	while(cin>>x[++n]>>y[n]);
	Q.push((crood){a,0});
	while(!Q.empty())
	{
		if(Q.front().s==b)
		{
			cout<<Q.front().cnt<<endl;
			return 0;
		}
		if(Q.front().cnt==10)
		    Q.pop();
		string str=Q.front().s;
		int sum=Q.front().cnt;
		for(int i=1;i<=n;i++)
		{
			int p=0;
			while(str.find(x[i],p)!=-1)
			{
				int p=str.find(x[i],p);
				str=str.substr(0,p)+y[i]+str.substr(p+x[i].size());
				Q.push((crood){str,sum+1});
				p++;
			}
		}
		Q.pop();
	}
	cout<<"NO ANSWER!"<<endl;
	return 0;
}

rt 请问那里有问题

2021/10/22 23:02
加载中...