#include <iostream> #include <map> using namespace std; int main() { map<char, int> zd={{'a',1},{'b',2},{'c',3},{'d',1},{'e',2},{'f',3},{'g',1},{'h',2},{'i',3}, {'j',1},{'k',2},{'l',3},{'m',1},{'n',2},{'o',3},{'p',1},{'q',2},{'r',3},{'s',4},{'t',1},{'u',2}, {'v',3},{'w',1},{'x',2},{'y',3},{'z',4} };//每个字母对应消耗时间 map<char,int> key={{'a',2},{'b',2},{'c',2},{'d',3},{'e',3},{'f',3},{'g',4},{'h',4},{'i',4}, {'j',5},{'k',5},{'l',5},{'m',6},{'n',6},{'o',6},{'p',7},{'q',7},{'r',7},{'s',7},{'t',8},{'u',8}, {'v',8},{'w',9},{'x',9},{'y',9},{'z',9}};//每个字母所在按键 string s; while(cin>>s){int t=0;int keys=0; for(int i=0;i<s.length();i++){ if(key[s[i]]==keys){t+=2;}//判断本次要按得按键与上次是否相同,相同加上等待时间 keys=key[s[i]];//记录上个字母所在按键 t+=zd[s[i]];//打字时间 } cout<<t<<endl; } } // 64 位输出请用 printf("%lld")