【普及组模拟赛】手机

题目描述

一般的手机的键盘是这样的:
这里写图片描述

要按出英文字母就必须要按数字键多下。例如要按出 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.

posted @ 2018-01-26 14:16  银叶草  阅读(225)  评论(0编辑  收藏  举报
Live2D