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<cstdio> #include<cstring> #include<algorithm> #include<iostream> using namespace std; char c; int n,t; int sta=0; int cnt=0,ans=0; int la=0,now=16; int main() {scanf("%d%d\n",&n,&t); while (cin>>c){if (c==' '||c=='\n') now=16; else if (c=='(') now/=2; else if (c==')') now*=2; else if (c=='.') cnt+=now/2; else if (c=='-'){cnt+=now;la++;}else cnt+=now; }t*=16; ans=cnt*60/t;cout<<ans;return 0; }
也许是因为精度,这个代码没过
#include<iostream> #include<cstdio> #include<math.h> #include<algorithm> #include<queue> #include<string.h> using namespace std; int n,t,nn; char c; double tot,last=1; int main() {scanf("%d%d",&n,&t);scanf("%c",&c);for(int i=1;i<=10009;i++){if(nn==n) break;scanf("%c",&c);if(c>='0'&&c<='9') {tot+=last;continue;}if(c==' '||c=='\n'){last=1;if(c=='\n') nn++;continue;}if(c=='('){last/=2;continue;}if(c==')'){last*=2;continue;}if(c=='.') {tot+=last/2;continue;}if(c=='-'){tot++;last=1;continue;}tot+=last;}tot=(double)tot/(t/60);cout<<tot;return 0; }
转载于:https://www.cnblogs.com/CLGYPYJ/p/7327421.html
P2614 计算器弹琴相关推荐
- 洛谷 P2614 计算器弹琴
P2614 计算器弹琴 题目描述 总所周知,计算器可以拿来干很多它本不应该干的事情,比如写作文.(参看洛谷P2549) 小A发现了一个计算器的另一个隐藏功能--弹琴. http://www.bilib ...
- 用计算机弹的软件,你试过用计算器弹琴吗?好玩的音乐计算器App
原标题:你试过用计算器弹琴吗?好玩的音乐计算器App [PConline 资讯]很多人都玩过会发音的那种计算器,发音计算器每一个按键都有不同的音调,例如狂按2222有惊喜,很多人都有过用计算器来弹琴的 ...
- P2614 计算机弹琴
https://www.luogu.org/problem/show?pid=2614 这是一道模拟题,就是细节有点多. 首先,括号里没有 - ,所以是 - 时,直接当成音符处理,又因为没有超过4个节 ...
- 李宇春的歌用计算机弹,计算器当钢琴玉米弹出李宇春5首歌曲(组图)
微博爆红的计算器弹琴视频截图. 计算器也能当钢琴弹 计算器可以用来做什么?当然是计算数据.如果实在结实,也许能用来砸核桃.但网友"玉米葱花粥"手中的计算器,还可以当钢琴用.近日,& ...
- 鹿晗歌曲计算机弹奏,微博之夜看点:贾玲抱肖战,郎朗用计算机弹琴,肖战为杨紫提裙...
原标题:微博之夜看点:贾玲抱肖战,郎朗用计算机弹琴,肖战为杨紫提裙 微博之夜星星聚集在一起闪闪发光,所有的明星都向观众展示了最美丽最帅的一面,红毯表演的一环是必不可少的,每个人为了博眼球笑容闪闪发光, ...
- webgl学习六 纹理贴图
<html><head><title>纹理贴图</title><script type="text/javascript" s ...
- 【洛谷月赛】洛谷11月月赛·Day1
洛谷2614 计算器弹琴 本题地址: http://www.luogu.org/problem/show?pid=2614 题目描述 总所周知,计算器可以拿来干很多它本不应该干的事情,比如写作文.(参 ...
- 手把手教你用 wxPython 设计一个可以弹琴的计算器
文章目录 1. 前言 2. 桌面程序设计的通用框架 3. 了解事件驱动,探索鼠标事件及其绑定 4. 最原始的计算器 5. 更漂亮的计算器 6. 给漂亮的计算器加上声音 7. 打包成.exe文件 8. ...
- 体面 用计算机弹调子,怎么把计算器调成音符
1.如何设置计算器成钢琴 按两次"时间/日期"按键,就可以弹奏了. 必须是那种按键带有音调的计算器才可以弹奏出音乐,其它的则不可以. 用计算器弹奏音乐和用其他乐器弹奏音乐道理是一致 ...
最新文章
- Kinesis、Streams and Firehose
- WPF ComboBox_SelectionChange事件中获取当前文本的方法
- db2 日期英式写法_《学霸英语》16:美国人和英国人“表达日期”,差距竟然这么大!...
- JAVA基础——时间Date类型转换
- windows查看dll接口
- mysql 变量定义和赋值_MySQL变量解析
- 用 label 控制 Pod 的位置 - 每天5分钟玩转 Docker 容器技术(128)
- 时序数据库InfluxDB 2.0 alpha 发布:主推新的Flux查询语言,TICK栈将成为整体
- [置顶] Android代码-----检测手机耳机插拔
- nginx proxy_pass cannot have URI part in location given by regular expression
- PHP版本中的VC6,VC9,VC11,TS,NTS区别
- 如何在word中找到标准偏差σ、α、β、δ等数学公式符号和物理公式符号
- PCB安规设计是怎样的?怎样设计高压电源的安规?ECM设计间距是怎样的,CAF设计间距要求是怎样的?电源的PCB间距设计指南,安规标准有哪些?380V电源安规设计
- 剑网3最新服务器哪个人多,狂欢夜178万剑网3玩家挤爆服务器 新赛季玩家自觉排队做任务...
- nodeJS实现简单网页爬虫功能
- Java设计模式面试题(一)
- 如何有效的对云专线进行测速
- Android学习之RecyclerView带刺的玫瑰
- Java 将小写的数字转换成对应的大写的汉字数字
- fiddler安卓模拟器与ios手机抓包