浙工大2015年校赛 Problem G: You you rhythm master(贪心题)
来源:互联网 发布:java mail ssl 编辑:程序博客网 时间:2024/06/03 17:22
题目链接:http://acm.zjut.edu.cn/onlinejudge/problem.php?cid=1100&pid=6
题面:
Problem G: You you rhythm master
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 295 Solved: 134
[Submit][Status][Web Board]
Description
最近Fry迷上了一款叫做rhythm master的游戏,
rhythm master是腾讯出品的山寨音乐游戏,屏幕上会不断的掉下音符,在一定的时间内玩家需要用手指去点击下落的音符,根据点击的时间不同分别获得Perfect ,Great,和Miss的评价并获得不同的分数.
分数的计算规则如下:
1,初始的combo数为0.
2,每获得一个Perfect, combo数加一,然后根据当前的combo分别获得不同的分数,combo在0到20(包括20)之间时获得200分,combo在20到50(包括50)之间获得 332 分,combo在50到100(包括100)之间获得466分,combo在100以上获得600分.
3,每获得一个Great, combo数加一,然后根据当前的combo分别获得不同的分数,combo在0到20(包括20)之间时获得80分,combo在20到50(包括50)之间获得 132 分,combo在50到100(包括100)之间获得186 分,combo在100以上获得240分.
4,每获得一个Miss,不得分,同时combo数清零.
现在已经知道最后Fry获得的Perfect ,Great,和Miss的数量,你需要做的就是求出Fry最终有可能获得的最大得分.
输入
第一行是一个T(T<=100),表示接下来有T组数据.
接下来T行,每行有三个数P,G,M,分别表示一首歌中Fry获得的Perfect ,Great,和Miss的数量,(0<=P,G,M<=1000).还是不懂的自行百度节奏大师规则…
Input
第一行是一个T(T<=100),表示接下来有T组数据.
接下来T行,每行有三个数P,G,M,分别表示一首歌中Fry获得的Perfect ,Great,和Miss的数量,(0<=P,G,M<=1000).
Output
每组数据对应输出一行,每行一个数,表示Fry所能获得的最高分数.
Sample Input
21 1 1 100 2 0
Sample Output
28038220
HINT
题意挺清晰的,就是节奏大师的玩法吧。
贪心策略:M最前或者最后,G在P的前面,这样才可以让P的得分更高。
根据p g两点的相对移动来写计算公式,虽然繁琐了些,结合图示还是能较容易写正确的。
代码:
#include <iostream>#include <string.h>#include <cstdio>#include <queue>using namespace std;int main(){ int t,p,g,m,ans; scanf("%d",&t);while(t--){ans=0;scanf("%d%d%d",&p,&g,&m);if(g<=20)ans+=g*80;else if(g<=50)ans+=(20*80+(g-20)*132);else if(g<=100)ans+=(20*80+30*132+(g-50)*186);else ans+=(20*80+30*132+50*186+(g-100)*240);p+=g;if(p<=20)ans+=(p-g)*200;else if(p<=50){if(g<=20){ans+=((20-g)*200+(p-20)*332);}else{ans+=(p-g)*332;}}else if(p<=100){if(g<=20)ans+=((20-g)*200+30*332+(p-50)*466);else if(g<=50)ans+=((50-g)*332+(p-50)*466);else ans+=(p-50)*466;}else{if(g<=20)ans+=((20-g)*200+30*332+50*466+(p-100)*600);else if(g<=50)ans+=((50-g)*332+50*466+(p-100)*600);else if(g<=100)ans+=((100-g)*466+(p-100)*600);else ans+=(p-g)*600;}printf("%d\n",ans);} return 0;}
- 浙工大2015年校赛 Problem G: You you rhythm master(贪心题)
- ACDream 1734 Can you make a water problem?(贪心)
- ACdream1734 Can you make a water problem?(贪心)
- Codeforce 2014ACM-ICPC, Asia Xian Regional Contest Problem G. The Problem to Slow Down You(回文树)
- Why you cant master english
- you
- you
- YOU
- You
- You
- Master the basics, and you'll be able to solve any problem!
- 2014-2015 ACM-ICPC, Asia Xian Regional Contest(G - The Problem to Slow Down You-回文树)
- 【后缀树】acm 2014 西安赛区 Problem G. The Problem to Slow Down You
- Codeforces Gym 100548G The Problem to Slow Down You (Palindromic Tree 或 Hash水过) 2014西安现场赛G题
- 【codeforces】2014 Asia Xian Regional Contest G The Problem to Slow Down You 【Palindromic Tree】
- 2014 Asia Xian Regional Contest G The Problem to Slow Down You 回文串自动机
- 2014 Asia Xian Regional Contest G The Problem to Slow Down You 【Palindromic Tree】
- 2017年上海金马五校程序设计竞赛:Problem G : One for You
- 移掉日志中的问号
- 使用bcb 调用 openssl库进行https get请求
- Freemodbus RTU在stm32上的移植分析
- 纹理 2D
- java Class类
- 浙工大2015年校赛 Problem G: You you rhythm master(贪心题)
- 使用ViewPager,设置为wrap_content后没有效果,以及多个view高度不同时ViewPager高度自适应
- HAL/JNI简明笔记(一)——HAL基本框架
- 福利啦,javaweb悬浮广告的js代码
- 一个使用WordNet比较词语相似度的Java包——JWS(Java WordNet Similarity)
- Android 开源项目收集
- 第一周项目三 时间类(2)增加多秒/分/时
- MySQL导出数据库结构出现Cannot load from mysql.proc错误的解决方法
- NavigationViewController