奇妙mle
查看原帖
奇妙mle
422089
豌豆迫击炮250楼主2021/6/25 10:45

https://www.luogu.com.cn/record/52062064

#include <iostream>
using namespace std;
int n, i = 0, ans = 0x3f3f3f3f;
string tran1[10], tran2[10], s ,t;
void dfs(string now, int deep){
	if(now == s){
		ans = min(ans, deep);
		return;
	}
	for(int i = 0; i < 6; i++){
		if(now.find(tran1[i]) != string::npos){
			string _now = now;
			now.replace(now.find(tran1[i]), now.find(tran1[i]) + tran1[i].size(), tran2[i]);
			dfs(now, deep + 1);
			now = _now;
		}
	}
}
int main(){
	cin >> t >> s;
	while(cin >> tran1[i] >> tran2[i]){
		i++;
	}
	dfs(t, 0);
	if(ans == 0x3f3f3f3f){
		cout << "NO ANSWER!" << endl;
	}else{
		 cout << ans << endl;
	}
	return 0;
}
2021/6/25 10:45
加载中...