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

手机键盘

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

相关推荐

舂锋:不能投什么岗都用一份简历,一般都是要看企业的岗位需求来写职业技能或者是项目经历,跟岗位相关的就写多一点。
点赞 评论 收藏
分享
自由水:笑死了,敢这么面试不敢让别人说
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-26 14:50
人力小鱼姐:有后面墨迹那两句的时间问题早回答完了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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