//这里填你的代码^^
//模拟
#include<bits/stdc++.h>
using namespace std;
const int N = 1e3+10;
int main()
{
string s;
while(cin>>s)
{
map<char,int>mp;
char K='a';
mp[K]=1;K++;
mp[K]++;K++;
mp[K]++;K++;
mp[K]+=2;K++;
mp[K]+=2;K++;
mp[K]+=2;K++;
mp[K]+=3;K++;
mp[K]+=3;K++;
mp[K]+=3;K++;
mp[K]+=4;K++;
mp[K]+=4;K++;
mp[K]+=4;K++;
mp[K]+=5;K++;
mp[K]+=5;K++;
mp[K]+=5;K++;
mp[K]+=6;K++;
mp[K]+=6;K++;
mp[K]+=6;K++;
mp[K]+=6;K++;
mp[K]+=7;K++;
mp[K]+=7;K++;
mp[K]+=7;K++;
mp[K]+=8;K++;
mp[K]+=8;K++;
mp[K]+=8;K++;
mp[K]+=8;K++;
//kkK
int cnt=0;
int n=s.size();
for (int i = 0; i < n; i ++ )
{
if(s[i]=='s'||s[i]=='z')
cnt+=4;
else if(s[i]=='a'||s[i]=='d'||s[i]=='g'||s[i]=='j'||s[i]=='m'||s[i]=='p'||s[i]=='t'||s[i]=='w')
cnt++;
else if(s[i]=='a'+1||s[i]=='d'+1||s[i]=='g'+1||s[i]=='j'+1||s[i]=='m'+1||s[i]=='p'+1||s[i]=='t'+1||s[i]=='w'+1)
cnt+=2;
else
cnt+=3;
if(i)
{
if(mp[s[i]]==mp[s[i-1]])
cnt+=2;
//重复按同一按键+=2
}
}
cout << cnt<<endl;
}
}
//注意代码要放在两组三个点之间,才可以正确显示代码高亮哦~
作者:编程小猫
链接:https://www.acwing.com/activity/content/code/content/3759398/
来源:AcWing
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。