洛谷 P2614 计算器弹琴
P2614 计算器弹琴
题目描述
总所周知,计算器可以拿来干很多它本不应该干的事情,比如写作文。(参看洛谷P2549)
小A发现了一个计算器的另一个隐藏功能——弹琴。
http://www.bilibili.com/video/av2205500/
如果按上一个键,比如说1,就会发出中音“Do”。
这边给出按键音高表
+ 低音Fa
< 低音So
* 低音La
/ 低音Xi
1 中音Do
2 中音Re
3 中音Mi 4 中音Fa 5 中音So 6 中音La 7 高音Xi 8 高音Do 9 高音Re = 高音Mi % 高音Fa C 高音So M 高音La
现在小A搞到了一份乐谱——我们称为计算器谱,一种变形的简谱。
时值(也就是按的时间长度)是这么记录的,例如:
1 是四分音符,占1拍。
1- 是二分音符,占2拍。
1--- 是全音符,占四拍。
对于小于四分音符的音符,我们用嵌套括号表示,例如
(1(34(56))2)
1和2在一层括号中,是八分音符,占0.5拍。
3和4在两层括号中,是16分音符,占0.25拍。
5和6在三层括号中,是32分音符,占1/8拍。当然实际上比较少见。
括号中不会出现‘-’这个符号。
不会出现四层或以上的括号。
在一个音符后面添加一个附点即“.”表示这个音符延长1/2倍。
例如 1-.是3拍,1.是1.5拍,(3.(45.))3是3/4拍,4是1/4拍,5是3/8拍。
附点不会连续添加两个或以上,也不会出现超过四拍的音符。
不考虑其他的乐理符号。
另外整个乐谱会给一个速度,整数,意思是一分钟多少拍。
为了美观,乐谱可以随便换行、添加空格。这个忽略即可。
现在小A想知道,按完这个谱子,需要多少时间(单位:秒)
输入输出格式
输入格式:
第一行,两个整数n,T,表示谱子行数以及速度(拍每分)
接下来n行,给出乐谱。
输出格式:
一个整数,表示演奏需要花费的时间,单位秒,舍去小数部分。
输入输出样例
2 60 3345 5432 1123 322- 3345 5432 1123 211-
32 (一共32拍,每分钟60拍,所以是32秒。对了,这是欢乐颂的开头部分)
5 120 3(1.(3))55 8(7.(6))65 655(3.(1)) (4.(4))32- 3(1.(2))35 8(7.(6))65 655(4.(3)) (2.(3))21- 2.(3)44 6(6.(6))(5.(4))3 3.(5)88 (9.(8)7.(6))5- =.(=)(9.(8))7 9.(8)(7.(6))5 8(856543) (2.(3))43- =.(=)(9.(8))7 9.(8)(7.(6))5 8(857654) (3.(4))21-
40 (一共80拍,别问我怎么数的,一分钟120拍的话,是40秒。至于这是什么曲子?根据相关的法律政策,该部分未予显示。)
说明
http://bd.kuwo.cn/yinyue/4641527
对于40%的数据,没有附点没有括号
对于100%的数据,括号层数不会超过3层,不超过100行,每行不超过100个字符。
对于其中的一个数据,是《千本樱》。
#include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; int n,T,st,Length; double ans; string s; int main(){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 '.':ans+=pow(0.5,st+1);break;default:ans+=pow(0.5,st);}}}cout<<(int)ans*60/T<<endl;return 0; }
转载于:https://www.cnblogs.com/cangT-Tlan/p/7965370.html
洛谷 P2614 计算器弹琴相关推荐
- P2614 计算器弹琴
题目描述 总所周知,计算器可以拿来干很多它本不应该干的事情,比如写作文.(参看洛谷P2549) 小A发现了一个计算器的另一个隐藏功能--弹琴. http://www.bilibili.com/vide ...
- 【洛谷月赛】洛谷11月月赛·Day1
洛谷2614 计算器弹琴 本题地址: http://www.luogu.org/problem/show?pid=2614 题目描述 总所周知,计算器可以拿来干很多它本不应该干的事情,比如写作文.(参 ...
- 信息学奥赛一本通 1910:【00NOIP普及组】计算器的改良 | 洛谷 P1022 [NOIP2000 普及组] 计算器的改良
[题目链接] ybt 1910:[00NOIP普及组]计算器的改良 洛谷 P1022 [NOIP2000 普及组] 计算器的改良 [题目考点] 1. 字符数组 2. 一元一次方程 3. 模拟 [解题思 ...
- 洛谷-题解 P2672 【推销员】
独门思路!链表加优先队列! 这题一望,贪心是跑不掉了,但是我贪心并不好,所以想到了一个复杂一些但思路更保稳的做法 思路: 1 因为是离线操作,所以我们可以倒着求,先求x=n的情况,因为那样直接就知道了 ...
- 洛谷 P1142 轰炸
洛谷 P1142 轰炸 题目描述 "我该怎么办?"飞行员klux向你求助. 事实上,klux面对的是一个很简单的问题,但是他实在太菜了. klux要想轰炸某个区域内的一些地方,它们 ...
- 洛谷 P1387 最大正方形
P1387 最大正方形 题目描述 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长. 输入输出格式 输入格式: 输入文件第一行为两个整数n,m(1<=n,m<=10 ...
- 洛谷P2763 试题库问题
题目:https://www.luogu.org/problemnew/show/P2763 题目描述 «问题描述: 假设一个试题库中有n道试题.每道试题都标明了所属类别.同一道题可能有多个类别属性. ...
- 动态规划——洛谷_P1057传球游戏
题目: 题目描述 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏.游戏规则是这样的:n个同学站成一个圆圈,其中的一个同学手里拿着一个球,当老师吹哨子时开始传球, ...
- 洛谷P1417 烹调方案
洛谷P1417 烹调方案 如果是一般的01背包的话 选的先后是没关系的 但是这题选的先后是有关系的,因为他的价值是随着时间而变化的, 而你的01背包是做不到先选2再选1的 那么我们就跟国王游戏一样 用 ...
最新文章
- JavaScript 运行机制详解
- ASP.NET2.0导航功能之配置会员和角色
- 启明云端分享|ESP32摄像头应用方案常遇到的问题
- leetcode 542. 01 Matrix | 542. 01 矩阵(图解,广度优先搜索)
- 2021年十大 web hacking 技术汇总
- solidwork 侵权 证据_电子商务法复习题
- The way to Go(5): 文件名、关键字与标识符
- 通过css使文字有渐变的效果
- 2018-01-29(HTML+CSS)
- 基于web的电影院售票系统的设计与实现
- QImage类详解(QImage类型转换、QImage类函数及QImage像素操作)
- 直接选择排序到堆排序做的那些改进
- 高通QCA61 4A网卡驱动linux,高通创锐QCA61x4蓝牙4.1驱动程序
- VS2013+Ceres编译教程 Win7系统
- 日常技术积累-ARM中RO/RW/ZI
- 移动端:苹果开发者账号Apple Developer Program
- 高德地图 缩放级别(Zoom) 和 比例尺(scale)之间 的关系
- 颜色的三要素:色调,饱和度,和亮度。
- 2022年上半年总结——忙碌而有点忧伤的半年
- 通信原理 | 虚数j的物理意义
热门文章
- 切换IP地址的小工具
- Python带进度条的小说爬虫(笔趣网爬小说—简约版)
- 偶数表达方式 matlab,如果用a表示非零自然数,那么偶数可以表示为( )。 ①a+2 ② 2a ③a-1 ④2a-1——青夏教育精英家教网——...
- 用 Python 哄女朋友开心
- 如何操作添加QQ邮箱独立密码?干货来啦!QQ邮箱怎样操作设置独立密码?
- AD17 画图 从原理图到PCB
- 一天一大 leet(二叉树的序列化与反序列化)难度:困难 DAY-16
- 2021年通州中学高考成绩查询,2021北京通州中考分数线是多少
- “好心山东”对接新时代文明实践站-狄长德:倡导好心行动
- 【每日新闻】彭震:产业互联网将是浪潮服务器的下一个风口;Gartner:只有65%的企业组织有网络安全专家...