#include <bits/stdc++.h> using namespace std; map<char, int> m; map<int, char> v; int main() { m.insert(make_pair('a', 1)); m.insert(make_pair('b', 1)); m.insert(make_pair('c', 1)); m.insert(make_pair('d', 2)); m.insert(make_pair('e', 2)); m.insert(make_pair('f', 2)); m.insert(make_pair('g', 3)); m.insert(make_pair('h', 3)); m.insert(make_pair('i', 3)); m.insert(make_pair('j', 4)); m.insert(make_pair('k', 4)); m.insert(make_pair('l', 4)); m.insert(make_pair('m', 5)); m.insert(make_pair('n', 5)); m.insert(make_pair('o', 5)); m.insert(make_pair('p', 6)); m.insert(make_pair('q', 6)); m.insert(make_pair('r', 6)); m.insert(make_pair('s', 6)); m.insert(make_pair('t', 7)); m.insert(make_pair('u', 7)); m.insert(make_pair('v', 7)); m.insert(make_pair('w', 8)); m.insert(make_pair('x', 8)); m.insert(make_pair('y', 8)); m.insert(make_pair('z', 8)); v.insert(make_pair(1, 'a')); v.insert(make_pair(2, 'd')); v.insert(make_pair(3, 'g')); v.insert(make_pair(4, 'j')); v.insert(make_pair(5, 'm')); v.insert(make_pair(6, 'p')); v.insert(make_pair(7, 't')); v.insert(make_pair(8, 'w')); string s; while (cin >> s) { int wait = 0; //等待时间 for (int i = 0; i < s.length(); i++ ) { //如果连续按键是一样的,等待时间加2 if (i > 0 && m[s[i - 1]] == m[s[i]]) { wait += 2; } //num 是该字母和所在按键第一个字母的距离 //第一个字母按一下,第num个字母按num+1下 int num = s[i] - v[m[s[i]]]; wait = wait + num + 1; } cout << wait << endl; } } // 64 位输出请用 printf("%lld")