题解 | 手机键盘

手机键盘

https://www.nowcoder.com/practice/20082c12f1ec43b29cd27c805cd476cd

#include <stdio.h>

int keybord[26]={1,1,1,2,2,2,3,3,3,4,4,4,5,5,5,6,6,6,6,7,7,7,8,8,8,8};
int pos[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};

int InputTime(char*s);

int main() {
    char s[101];
    while(scanf("%s",s)!=EOF){
        printf("%d\n",InputTime(s));
    }
    return 0;
}

int InputTime(char*s){
    int wait_time=2;// 等待时间
    int total_time=0;// 总时间
    int length=0;// 字符数量
    while(s[length++]!='\0'){}

    for(int i=0;s[i]!='\0';i++){
        if(i==0){total_time+=pos[s[0]-97];}
        else if(keybord[s[i]-97]==keybord[s[i-1]-97]){
            total_time+=wait_time;
            total_time+=pos[s[i]-97];
        }else{total_time+=pos[s[i]-97];}
    }

    return total_time;
}

全部评论

相关推荐

05-23 20:31
已编辑
武汉大学 Java
内向的柠檬精在研究求职打法:注意把武大标粗标大 本地你俩不是乱杀
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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