#include <bits/stdc++.h>
using namespace std;
map <char, string> tra;
bool check(char a, char b) {
if (tra[a][0] == tra[b][0]) return true;
return false;
}
int main() {
tra['a'] = "2";
tra['b'] = "22";
tra['c'] = "222";
tra['d'] = "3";
tra['e'] = "33";
tra['f'] = "333";
tra['g'] = "4";
tra['h'] = "44";
tra['i'] = "444";
tra['j'] = "5";
tra['k'] = "55";
tra['l'] = "555";
tra['m'] = "6";
tra['n'] = "66";
tra['o'] = "666";
tra['p'] = "7";
tra['q'] = "77";
tra['r'] = "777";
tra['s'] = "7777";
tra['t'] = "8";
tra['u'] = "88";
tra['v'] = "888";
tra['w'] = "9";
tra['x'] = "99";
tra['y'] = "999";
tra['z'] = "9999";
vector <char> beh(10);
for (int i = 0; i < 9; i++) {
char x;
cin >> x;
beh[x-'0']=i+1+'0';
}
string s, s2 = "";
cin >> s;
s2 = tra[s[0]];
for (int i = 1; i < s.size(); i++) {
if (check(s[i], s[i-1])) s2 += '#';
s2 += tra[s[i]];
}
for (int i = 0; i < s2.size(); i++) if (s2[i] != '#') s2[i] = beh[s2[i] -'0'];
cout << s2;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |