AcWing 3381. 手机键盘
原题链接
简单
作者:
JustDoIt11
,
2023-02-13 21:08:53
,
所有人可见
,
阅读 134
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define LL long long
#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)
unordered_map<char,int> h;
unordered_map<char,int> l;
signed main() {
IOS;
int cir = 1;
int now = 1;
for (char a = 'a'; a <= 'z'; a ++ , cir ++ ) {
if (a >= 'a' && a <= 'o' )
if (cir == 4) cir = 1, now ++ ;
if (a >= 't' && a <= 'v')
if (a == 't') cir = 1, now ++ ;
if ((a >= 'p' && a <= 's') || (a >= 'w' && a <= 'z'))
if (a == 'p' || a == 'w') cir = 1, now ++ ;
h[a] = cir;
l[a] = now;
}
// for (char a = 'a'; a <= 'z'; a ++ ) cout << h[a] << ' ';
// cout << '\n';
// for (char a = 'a'; a <= 'z'; a ++ ) cout << l[a] << ' ';
// cout << '\n';
string op;
while (cin >> op) {
int ans = 0;
for (int i = 0; i < op.length(); i ++ ) {
ans += h[op[i]];
if (i && l[op[i]] == l[op[i - 1]]) ans += 2;
}
cout << ans << '\n';
}
return 0;
}
这个题让我很难受