zoukankan      html  css  js  c++  java
  • 1079.手机键盘

    题目描述:
    按照手机键盘输入字母的方式,计算所花费的时间

    如:a,b,c都在“1”键上,输入a只需要按一次,输入c需要连续按三次。

    如果连续两个字符不在同一个按键上,则可直接按,如:ad需要按两下,kz需要按6下

    如果连续两字符在同一个按键上,则两个按键之间需要等一段时间,如ac,在按了a之后,需要等一会儿才能按c。

    现在假设每按一次需要花费一个时间段,等待时间需要花费两个时间段。

    现在给出一串字符,需要计算出它所需要花费的时间。
    输入:
    一个长度不大于100的字符串,其中只有手机按键上有的小写字母
    输出:
    输入可能包括多组数据,对于每组数据,输出按出Input所给字符串所需要的时间
    样例输入:

    bob
    www
    样例输出:

     7
    7

    #include<cstring>
    #include<iostream>
    #include<map>
    using namespace std;
    
    int main(){
        string s;
        while(getline(cin,s)){
            int num=0;
            for(int i=0;i<s.size();i++){
                if(s[i]=='a' || s[i]=='d' || s[i]=='g' || s[i]=='j' || s[i]=='m' || s[i]=='p' || s[i]=='t' || s[i]=='w') num++;
                else {
                if(s[i]=='b' || s[i]=='e' || s[i]=='h' || s[i]=='k' || s[i]=='n' || s[i]=='q' || s[i]=='u' || s[i]=='x')
                     num+=2;
                     else {
                         if(s[i]=='c' || s[i]=='f' || s[i]=='i' || s[i]=='l' || s[i]=='o' || s[i]=='r' || s[i]=='v' || s[i]=='y')
                         num+=3;
                         else num+=4;
                     }
            }
            }
            map<char,int> m;
            m['a']=1;
            m['b']=1;
            m['c']=1;
            m['d']=2;
            m['e']=2;
            m['f']=2;
            m['g']=3;
            m['h']=3;
            m['i']=3;
            m['j']=4;
            m['k']=4;
            m['l']=4;
            m['m']=5;
            m['n']=5;
            m['o']=5;
            m['p']=6;
            m['q']=6;
            m['r']=6;
            m['s']=6;
            m['t']=7;
            m['u']=7;
            m['v']=7;
            m['w']=8;
            m['x']=8;
            m['y']=8;
            m['z']=8;
            for(int i=0;i<s.size()-1;i++){
                if(m[s[i+1]]==m[s[i]]) num+=2;
            }
            cout<<num<<endl;
        }
        return 0;
    }
  • 相关阅读:
    Html禁止粘贴 复制 剪切
    表单标签
    自构BeanHandler(用BeansUtils)
    spring配置中引入properties
    How Subcontracting Cockpit ME2ON creates SD delivery?
    cascadia code一款很好看的微软字体
    How condition value calculated in sap
    Code in SAP query
    SO Pricing not updated for partial billing items
    Javascript learning
  • 原文地址:https://www.cnblogs.com/bernieloveslife/p/9736451.html
Copyright © 2011-2022 走看看