Submission #1342432

#TimeUsernameProblemLanguageResultExecution timeMemory
1342432nathlol2Mobitel (COCI14_mobitel)C++20
50 / 50
1 ms344 KiB
#include <bits/stdc++.h>
using namespace std;
int a[10];
string s, ans;

string f(char c){
    string res;
    if(c <= 'c') for(int i = 'a';i<=c;i++) res += "2";
    else if(c <= 'f') for(int i = 'd';i<=c;i++) res += "3";
    else if(c <= 'i') for(int i = 'g';i<=c;i++) res += "4";
    else if(c <= 'l') for(int i = 'j';i<=c;i++) res += "5";
    else if(c <= 'o') for(int i = 'm';i<=c;i++) res += "6";
    else if(c <= 's') for(int i = 'p';i<=c;i++) res += "7";
    else if(c <= 'v') for(int i = 't';i<=c;i++) res += "8";
    else if(c <= 'z') for(int i = 'w';i<=c;i++) res += "9";
    return res;
}

signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    for(int i = 1, x;i<=9;i++) cin >> x, a[x] = i;
    cin >> s;
    for(auto x : s){
        if(ans.size() && ans.back() == f(x)[0]) ans += '#';
        ans += f(x);
    }
    for(auto &x : ans) if(x != '#') x = '0' + a[x - '0'];
    cout << ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...