zoukankan      html  css  js  c++  java
  • 【普及组模拟赛】手机

    题目描述

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

    要按出英文字母就必须要按数字键多下。例如要按出 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.
    
    
  • 相关阅读:
    leetcode 87. Scramble String
    leetcode 1278 分割回文串
    back propagation in NNs and RNNs
    刷题笔记——单调栈
    unsupervised learning -- K MEANS
    install j3d on macOS
    java extract jar file on MacOS
    back-propagation algorithm
    day 4
    day 3
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/9500009.html
Copyright © 2011-2022 走看看