题解 | #九宫格键盘模拟#

手机键盘

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;
    
}
全部评论

相关推荐

02-25 13:02
中南大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务