답안 #920517

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
920517 2024-02-02T16:58:37 Z speedcode 고장난 휴대전화기 (COCI14_mobitel) C++17
50 / 50
1 ms 600 KB
#include <bits/stdc++.h>
using namespace std;

map<char, pair<int, int>> behaviours = {
    {' ', {1,1}},
    {'a', {2,1}},
    {'b', {2,2}},
    {'c', {2,3}},
    {'d', {3,1}},
    {'e', {3,2}},
    {'f', {3,3}},
    {'g', {4,1}},
    {'h', {4,2}},
    {'i', {4,3}},
    {'j', {5,1}},
    {'k', {5,2}},
    {'l', {5,3}},
    {'m', {6,1}},
    {'n', {6,2}},
    {'o', {6,3}},
    {'p', {7,1}},
    {'q', {7,2}},
    {'r', {7,3}},
    {'s', {7,4}},
    {'t', {8,1}},
    {'u', {8,2}},
    {'v', {8,3}},
    {'w', {9,1}},
    {'x', {9,2}},
    {'y', {9,3}},
    {'z', {9,4}},
};

int main(){
    ios::sync_with_stdio(false);
    cin.tie(0);

    int touches[10];
    int x;
    for(int i = 1; i <= 9; i++){
        cin >> x;
        touches[x] = i;
    }

    cin.ignore();

    string s;
    getline(cin, s);

    int lastTouch = 0;

    for(char c : s){
        if(behaviours[c].first == lastTouch)
            cout << '#';
        lastTouch = behaviours[c].first;

        for(int i = 0; i < behaviours[c].second; i++) cout << touches[behaviours[c].first];

    }

    cout << '\n';

    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 600 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 1 ms 348 KB Output is correct