关于CE
  • 板块灌水区
  • 楼主OneLeft
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/11/30 10:45
  • 上次更新2023/10/27 00:57:09
查看原帖
关于CE
574215
OneLeft楼主2022/11/30 10:45
#include<bits/stdc++.h>
#define int long long
using namespace std;
struct node
{
	string u,v;
}a[15];
int n,t;
string x,y,t1,t2;
int bfs()
{
	queue<string>s;queue<int>sum;
	s.push(x);sum.push(0);
	while(!s.empty())
	{
		if(s.front==y)return sum.front;
		for(int i=1;i<=n;i++)
		{
			if(s.front.find(a[i].u)<s.front.size())
			{
				t2="";
				for(int j=0;j<s.front.find(a[i].u);j++)t2+=s.front[j];
				t2+=a[i].v;
				for(int j=s.front.find(a[i].u)+a[i].u.size();j<s.front.size();j++)t2+=s.front[j];
				if(sum.front+1<=10)s.push(t2),sum.push(sum.front+1);
			}
		}
		s.pop();sum.pop();
	}
	return -1;
}
signed main()
{
	cin>>x>>y;
	while(cin>>t1>>t2)
		a[++n]=(node){t1,t2};
	t=bfs();
	if(t==-1)cout<<"NO ANSWER!";
	else cout<<t;
	
	return 0;
}

为什么运行不了

2022/11/30 10:45
加载中...