比赛 20201031 评测结果 AAAAAAAE
题目名称 字串变换 最终得分 87
用户昵称 Harry Potter 运行时间 0.915 s
代码语言 C++ 内存使用 18.53 MiB
提交时间 2020-10-31 21:04:26
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
string a,b;
string x[7],y[7];
int i=1,head=0,tail=1;
struct Node{
	string z;
	int step;
}q[2000005];
int string123(){
	freopen("string.in","r",stdin);
	freopen("string.out","w",stdout);
	cin>>a>>b;
	while(cin>>x[i]>>y[i]) i++;
	i--;
	q[tail].z =a;
	q[tail].step =0;
	while(head<tail){
		head++;
		if(q[head].step >10){
			cout<<"NO ANSWER!";
			return 0;
		}
		for(int j=1;j<=i;j++){
			int pos=q[head].z .find(x[j],0);
			while(1){
				if(pos==-1) break;
				else{
					tail++;
					q[tail].z =q[head].z ;
					q[tail].step =q[head].step +1;
					q[tail].z .replace(pos,x[j].size() ,y[j]);
					if(q[tail].z ==b){
						cout<<q[tail].step ;
						return 0;
					}
					pos=q[head].z .find(x[j],pos+1);
				}
			}
		}
	}
} 
int huhu=string123();
int main(){;}