#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 |