Untitled
unknown
plain_text
3 years ago
790 B
9
Indexable
#include<bits/stdc++.h>
using namespace std;
queue <pair<string, int> > q;
int n, c;
vector<string> v[30];
string litera, ch;
string cuv_final, str, str1;
int main()
{
ifstream fin("expand.in");
ofstream fout("expand.out");
fin>>litera;
fin>>cuv_final;
fin>>n;
for(int i=0; i<n; i++){
fin>>ch>>str;
v[ch[0]-'a'].push_back(str);
}
q.push({litera, 0});
while(!q.empty()){
pair<string, int> p=q.front();
q.pop();
c=p.second;
str=p.first;
if(str==cuv_final){
break;
}
c++;
for(int i=0; i<str.size(); i++){
for(int j=0; j<v[str[i]].size(); j++){
str1=str.substr(0, i)+v[str[i]][j]+str.substr(i+1, str.size()-i-2);
q.push({str1, c});
}
}
}
//fout<<c;
}
Editor is loading...