제출 #1163173

#제출 시각아이디문제언어결과실행 시간메모리
1163173naneosmic고장난 휴대전화기 (COCI14_mobitel)C++20
50 / 50
0 ms464 KiB
#include <bits/stdc++.h>
#define int long long
#define endl "\n"
using namespace std;
signed main(){
    map<char,string>m;
    m['a']="2";
    m['b']="22";
    m['c']="222";
    m['d']="3";
    m['e']="33";
    m['f']="333";
    m['g']="4";
    m['h']="44";
    m['i']="444";
    m['j']="5";
    m['k']="55";
    m['l']="555";
    m['m']="6";
    m['n']="66";
    m['o']="666";
    m['p']="7";
    m['q']="77";
    m['r']="777";
    m['s']="7777";
    m['t']="8";
    m['u']="88";
    m['v']="888";
    m['w']="9";
    m['x']="99";
    m['y']="999";
    m['z']="9999";
    map<char,char>m1;
    for(char c='1';c<='9';c++){
        char x;
        cin>>x;
        m1[x]=c;
    }
    m1['#']='#';
    string s;
    cin>>s;
    string ans;
    int n=s.size();
    int prev='0';
    for(int i=0;i<n;i++){
        string curr=m[s[i]];
        if(curr[0]==prev){
            ans.push_back('#');
        }
        ans.append(curr);
        prev=curr[0];
    }
    n=ans.size();
    for(int i=0;i<n;i++){
        ans[i]=m1[ans[i]];
    }
    cout<<ans<<endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...