题解 | #九宫格键盘模拟#
手机键盘
http://www.nowcoder.com/practice/20082c12f1ec43b29cd27c805cd476cd
//key数组记录每个字母在各自格中的花费
//如果两个字母在同一格中,他们的花费差应该和字母顺序差一样
#include"iostream"
#include"string"
using namespace std;
int main(){
int key[26]={1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,1,2,3,4,1,2,3,1,2,3,4};
string input="";
while(cin>>input)
{
int count=key[input[0]-'a'];
for(int i=1;i<input.size();i++)
{
count+=key[input[i]-'a'];
if(key[input[i]-'a']-key[input[i-1]-'a']==input[i]-input[i-1])
{
count+=2;
}
}
cout<<count<<endl;
}
return 0;
}