Untitled
unknown
plain_text
2 years ago
790 B
4
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...