1 条题解

  • 0
    @ 2025-8-24 21:39:40

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar tauyoung
    **

    搬运于2025-08-24 21:39:40,当前版本为作者最后更新于2017-06-27 19:38:52,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    主要是特殊字符处理,其他的一律default按音符算

    #include <bits/stdc++.h>
    using namespace std;
    int n,T,st=0,Length;
    double itime=0;                                         //乐谱长度
    string s;
    int main()
    {
        ios::sync_with_stdio(false);
        cin>>n>>T;
        for(;cin>>s;st=0)                                   //读不到就结束了
        {
            Length=s.length();
            for(int i=0;i<Length;i++)
            {
                switch(s[i])                                //分析字符
                {
                    case ' ':
                    case '\r':
                    case '\n':break;                        //空字符
                    case '(':st++;break;                    //音符值减半
                    case ')':st--;break;                    //音符值翻倍
                    case '.':itime+=pow(0.5,st+1);break;    //半个音符
                    default:itime+=pow(0.5,st);             //普通音符
                }
            }
        }
        cout<<(int)itime*60/T<<endl;                        //注意取整
        return 0;
    }
    
    • 1

    信息

    ID
    1651
    时间
    1000ms
    内存
    125MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者