1 条题解

  • 0
    @ 2025-8-24 21:28:51

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Drifterming
    这个家伙很勤,留下了一句个签。

    搬运于2025-08-24 21:28:50,当前版本为作者最后更新于2017-07-10 11:12:13,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    /*这道题好像没有和我一样做的,打表打得漂亮,没有那么多if和case,简洁美观呵呵呵呵呵*/

    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    #include<string>
    #include<cmath>
    using namespace std;
    int ans;
    string a;
    int num[26]={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};        //26个字母打表需要按几次 
    int main()
    {
        getline(cin,a);
        for(int i=0;i<a.length();i++)
        {
            if(a[i]>='a'&&a[i]<='z') ans+=num[a[i]-'a'];        //不能写a[i]!=' ',因为还有'\n'和'\r' 
            if(a[i]==' ') ans++;    //不能写else因为也有'\n'和'\r',这就是这个题的坑点,我交了好几次,欲哭无泪 
        }
        printf("%d",ans);
        return 0;
    }
    
    • 1

    信息

    ID
    739
    时间
    1000ms
    内存
    512MiB
    难度
    1
    标签
    递交数
    0
    已通过
    0
    上传者