То, что я буду делать, рекурсивно вызовет создание строки
class Solution{
public:
map<int,string> KeyMapping;
void generate_string(string ¤t, vector<int> &keys, vector<string> &ans){
if(current.size() == keys.size()){
ans.emplace_back(current);
return;
}
int index = (int)current.size();
for(char i: keyMapping[keys[index]]){
current+=i;
generate_string(current,keys,ans);
current.pop_back();
}
}
};
Чтобы использовать его в main()
int main(){
vector<int> keys = {1,2};
string res = "";
Solution obj;
// Set keymapping to obj.keyMapping
vector<string> all;
obj.generate_string(res,keys,all);
for(auto i: all)cout << i << " ";
return 0;
}