#include <bits/stdc++.h>
using namespace std;
int place[27];
int times[27];
int swapKey[10];
string s, ans;
void SamsungApple () {
times[0] = 1; place[0] = 2;
times[1] = 2; place[1] = 2;
times[2] = 3; place[2] = 2;
times[3] = 1; place[3] = 3;
times[4] = 2; place[4] = 3;
times[5] = 3; place[5] = 3;
times[6] = 1; place[6] = 4;
times[7] = 2; place[7] = 4;
times[8] = 3; place[8] = 4;
times[9] = 1; place[9] = 5;
times[10] = 2; place[10] = 5;
times[11] = 3; place[11] = 5;
times[12] = 1; place[12] = 6;
times[13] = 2; place[13] = 6;
times[14] = 3; place[14] = 6;
times[15] = 1; place[15] = 7;
times[16] = 2; place[16] = 7;
times[17] = 3; place[17] = 7;
times[18] = 4; place[18] = 7;
times[19] = 1; place[19] = 8;
times[20] = 2; place[20] = 8;
times[21] = 3; place[21] = 8;
times[22] = 1; place[22] = 9;
times[23] = 2; place[23] = 9;
times[24] = 3; place[24] = 9;
times[25] = 4; place[25] = 9;
}
int main () {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
SamsungApple();
for (int i = 1;i <= 9; i++) {
int x;
cin >> x;
swapKey[x] = i;
}
cin >> s;
for (int i = 0;i < (int)s.size(); i++) {
int key_need = swapKey[place[s[i]-'a']];
int key_time = times[s[i]-'a'];
if ((int)ans.size() && key_need == ans[ans.size()-1] - '0') {
ans += "#";
}
for (int j = 0;j < key_time; j++) ans += to_string(key_need);
}
cout << ans << "\n";
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |