牛客网考研机试题集合:手机键盘

记录每个字母在键盘的位置以及要按的次数


#include<bits/stdc++.h>

using namespace std;
const int N=40002;
const int K=1010;

int main() {
string s;
map<char,int> m1,m2;
char c;
c='a';m1[c]=1;m2[c]=1;
c='b';m1[c]=1;m2[c]=2;
c='c';m1[c]=1;m2[c]=3;
c='d';m1[c]=2;m2[c]=1;
c='e';m1[c]=2;m2[c]=2;
c='f';m1[c]=2;m2[c]=3;
c='g';m1[c]=3;m2[c]=1;
c='h';m1[c]=3;m2[c]=2;
c='i';m1[c]=3;m2[c]=3;
c='j';m1[c]=4;m2[c]=1;
c='k';m1[c]=4;m2[c]=2;
c='l';m1[c]=4;m2[c]=3;
c='m';m1[c]=5;m2[c]=1;
c='n';m1[c]=5;m2[c]=2;
c='o';m1[c]=5;m2[c]=3;
c='p';m1[c]=6;m2[c]=1;
c='q';m1[c]=6;m2[c]=2;
c='r';m1[c]=6;m2[c]=3;
c='s';m1[c]=6;m2[c]=4;
c='t';m1[c]=7;m2[c]=1;
c='u';m1[c]=7;m2[c]=2;
c='v';m1[c]=7;m2[c]=3;
c='w';m1[c]=8;m2[c]=1;
c='x';m1[c]=8;m2[c]=2;
c='y';m1[c]=8;m2[c]=3;
c='z';m1[c]=8;m2[c]=4;

while(cin>>s){
	int len=s.length();
	int sum=0;
	sum+=m2[s[0]];
	for(int i=1;i<len;i++){
		if(m1[s[i]]!=m1[s[i-1]]){
			sum+=m2[s[i]];
		}else{
			sum+=2+m2[s[i]];
		}
	}
	cout<<sum<<endl;
}


	return 0;
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值