//字符串测试
#include<cstdio>
#include<iostream>
#include<map>
#include<string>
using namespace std;
char a[100];
int main()
{
string s1;
map<char,int> ma={
{'a',1},
{'b',2},
{'c',3},
{'d',1},
{'e',2},
{'f',3},
{'g',1},
{'h',2},
{'i',3},
{'j',1},
{'k',2},
{'l',3},
{'m',1},
{'n',2},
{'o',3},
{'p',1},
{'q',2},
{'r',3},
{'s',4},
{'t',1},
{'u',2},
{'v',3},
{'w',1},
{'x',2},
{'y',3},
{'z',4},
};
map<char,int> mb={
{'a',2},{'b',2},{'c',2},
{'d',3},{'e',3},{'f',3},
{'g',4},{'h',4},{'i',4},
{'j',5},{'k',5},{'l',5},
{'m',6},{'n',6},{'o',6},
{'p',7},{'q',7},{'r',7},{'s',7},
{'t',8},{'u',8},{'v',8},
{'w',9},{'x',9},{'y',9},{'z',9},
};
int t1=1;
int t2=2;
while(scanf("%s",a)!=EOF){
s1=a;
int time=0;
for(int i=0;i<s1.length();i++)
{
char temp=a[i];
char temp1=a[i+1];
time+=(int)ma[temp];
if(mb[temp]==mb[temp1])
{
time+=t2;
}
}
cout<<time;
}
return 0;
}
这一组是用C风格字符串和C++风格字符串混合做的


京公网安备 11010502036488号