【普及组模拟赛】手机
题目描述
一般的手机的键盘是这样的:
要按出英文字母就必须要按数字键多下。例如要按出 x 就得按 9 两下,第一下会出 w,而第二下会把 w 变成 x。 0 键按一下会出一个空格。
你的任务是读取若干句只包含英文小写字母和空格的句子,求出要在手机上打出这个句子至少需要按多少下键盘。
输入
输入文件只包含一行,表示一个句子,句子中只包含英文小写字母和空格,且不超过200 个字符。
输出
一行一个整数,表示按键盘的总次数。
样例输入
i have a dream
样例输出
23
数据范围限制
【数据范围】
不超过 200 个字符。
分析
这题是真的水
把每个字母的次数存到一个数组里
最后判断+统计即可
程序:
const
a:array['a'..'z']of longint=(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);
var
s:string;
tj,i:longint;
begin
assign(input,'mobile.in');
reset(input);
assign(output,'mobile.out');
rewrite(output);
read(s);
for i:=1 to length(s) do
if s[i]=' ' then inc(tj) else tj:=tj+a[s[i]];
write(tj);
close(input);
close(output);
end.