D e s c r i p t i o n Description Description
手机键盘…
1 1 1 | 2 a b c 2abc 2abc | 3 d e f 3def 3def |
---|---|---|
4 g h i 4ghi 4ghi | 5 j k l 5jkl 5jkl | 6 m n o 6mno 6mno |
7 p q r s 7pqrs 7pqrs | 8 t u v 8tuv 8tuv | 9 w x y z 9wxyz 9wxyz |
∗ * ∗ | 0 0 0 | # |
比如
a
a
a,只需要按一次
2
2
2
即可得到
再比如
z
z
z, 需要按四次
9
9
9
还有“ ”(空格)需要按一次0
问输入一串字符串
需要按几下
I n p u t Input Input
一行, 一串字符串
O u t p u t Output Output
一行,为需要按几下
S a m p l e I n p u t Sample Input SampleInput
i have a dream
S a m p l e O u t p u t Sample Output SampleOutput
23
思路
模拟
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
const int A[27]={0,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 Ans,len;
char s;
int main()
{
freopen("mobile.in","r",stdin);
freopen("mobile.out","w",stdout);
Ans=0;
s=getchar();
while(s>='a'&&s<='z'||s==' ')
{
if(s==' ')Ans++;
else Ans+=A[s-96];
s=getchar();
}
printf("%d\n",Ans);
fclose(stdin);
fclose(stdout);
return 0;
}