题解 | 手机键盘
手机键盘
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; }