///////////////////////////////////////////////////////////////////////////////////////////////
#include <bits/stdc++.h>
using namespace std;
// #define int long long
#define FAST_IO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define FILE_IO(x) freopen((string(x) + ".in").c_str(), "r", stdin); freopen((string(x) + ".out").c_str(), "w", stdout)
#define f first
#define s second
#define x1 x1qwer
#define y1 y1qwer
#define right right123
#define left left123
#define foreach(it, v) for (auto it : v)
#define rep(it, n) for (int it = 0; it < n; ++it)
#define forin(it, l, r) for (int it = l; it < r; ++it)
#define all(x) x.begin(), x.end()
typedef long long ll;
typedef unsigned long long ull;
typedef double ld;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
const double DINF = numeric_limits<double>::infinity();
const ll MOD = 1e9 + 7;
const double EPS = 1e-7;
ll gcd(ll a, ll b) { return b ? gcd(b, a % b) : a; }
mt19937 mmtw_(MOD);
uniform_int_distribution<ll> rd_;
ll randomll() { return rd_(mmtw_);}
ll rnd(ll x, ll y) { return rd_(mmtw_) % (y - x + 1) + x; }
template <class T> T fact(T n) { if (n == 1) return 1; return n * fact(n - 1); }
////////////////////////////////////////////////////////////////////////////////////////////////
int mp[10];
pair<int, int> val[256];
string k[] = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
int main() {
FAST_IO;
rep(i, 9) {
int t;
cin >> t;
mp[t] = i + 1;
}
for (int i = 1; i <= 9; ++i) {
for (int j = 0; j < k[i].size(); ++j) {
val[k[i][j]] = {i, j};
}
}
int last = -1;
string s;
cin >> s;
for (auto ch : s) {
if (val[ch].f == last) {
cout << '#';
}
rep(i, val[ch].s + 1) {
cout << mp[val[ch].f];
}
last = val[ch].f;
}
cout << endl;
}
Compilation message
mobitel.cpp: In function 'int main()':
mobitel.cpp:49:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for (int j = 0; j < k[i].size(); ++j) {
~~^~~~~~~~~~~~~
mobitel.cpp:50:24: warning: array subscript has type 'char' [-Wchar-subscripts]
val[k[i][j]] = {i, j};
^
mobitel.cpp:58:19: warning: array subscript has type 'char' [-Wchar-subscripts]
if (val[ch].f == last) {
^
mobitel.cpp:61:22: warning: array subscript has type 'char' [-Wchar-subscripts]
rep(i, val[ch].s + 1) {
^
mobitel.cpp:16:42: note: in definition of macro 'rep'
#define rep(it, n) for (int it = 0; it < n; ++it)
^
mobitel.cpp:62:30: warning: array subscript has type 'char' [-Wchar-subscripts]
cout << mp[val[ch].f];
^
mobitel.cpp:65:22: warning: array subscript has type 'char' [-Wchar-subscripts]
last = val[ch].f;
^
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
3 ms |
376 KB |
Output is correct |
2 |
Correct |
2 ms |
376 KB |
Output is correct |
3 |
Correct |
2 ms |
420 KB |
Output is correct |
4 |
Correct |
3 ms |
424 KB |
Output is correct |
5 |
Correct |
3 ms |
536 KB |
Output is correct |
6 |
Correct |
3 ms |
540 KB |
Output is correct |
7 |
Correct |
3 ms |
544 KB |
Output is correct |
8 |
Correct |
3 ms |
636 KB |
Output is correct |
9 |
Correct |
2 ms |
636 KB |
Output is correct |
10 |
Correct |
3 ms |
660 KB |
Output is correct |