题解 | 手机键盘

#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 str;
    while(cin >> str){
        int count = key[str[0]-'a'];
        for(int i = 1; i < str.size(); i ++){
            count += key[str[i]-'a'];
            if(key[str[i]-'a']-key[str[i-1]-'a'] == str[i]-str[i-1])
                count+=2;
        }
        cout << count << endl;
    }
    return 0;
}

这是最简单的模拟方法,直接根据范围去找,找到之后加数字即可

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务