Time Limit:1000MS Memory Limit:65535K
题型: 编程题 语言: 无限制
描述
jubeat是一款由日本KONAMI倾心打造的体感音乐游戏,该作在日韩、香港等地区一经推出就引起了玩家极大关注,现在也是当地各大机厅最热门的音乐游戏。 jubeat的界面如图所示,采用了4x4配置的16个正方形透明按钮操作,每个按钮下方都有对应的显示画面,玩家只要配合音乐节奏和画面提示依次按下显示的符号(由小而大的图形),即可获得高分。.
按下按键后jubeat对于分数的判定有4种:Perfect, Great, Good和Bad。分数的计算方式为:1000000 * (Perfect的个数 + 0.7 * Great的个数 + 0.4 * Good的个数 + 0.1 * Bad的个数) / 总音符数 而jubeat对于结果的判定也是分等级的,具体如下表: 等级 分数 EXC 1000000 SSS 980000~999720 SS 950000~979999 S 900000~949999 A 850000~899999 B 800000~849999 C 700000~799999 D 500000~699999 E 0~499999 给出一局中Perfect的个数,Great的个数,Good的个数,Bad的个数以及总音符数,求总分数以及获得的等级。
输入格式
第一行输入一个正整数T(1 <= T <= 1000),表示将要输入的测试数据数量。 接下来是T组测试数据,每组测试数据包括5个整数n,P,G,g,B,分别代表总音符数,Perfect的个数,Great的个数,Good的个数,Bad的个数。(1 <= n <= 1100, 保证P+G+g+B的和与总音符数相等)
输出格式
对于每一组测试数据,输出一行“Case X: ”,其中X表示第几组数据。然后输出总分数以及对应的等级,分数和等级间用一个空格隔开。分数的取整为最接近的整数(不足0.5向下取整,否则向上取整)
输入样例
3 151 1 50 66 34 4 1 1 1 1 5 5 0 0 0
输出样例
Case 1: 435762 E Case 2: 550000 D Case 3: 1000000 EXC
#include<stdio.h> #include<math.h> int main() { int T,i,temp; double n,p,G,g,B,sum; scanf("%d",&T); i=1; for(i=1;i<=T;i++) { sum=0; scanf("%lf%lf%lf%lf%lf",&n,&p,&G,&g,&B); sum=1000000*(p+0.7*G+0.4*g+0.1*B)/n; temp=floor(sum+0.5); if(temp>=1000000) printf("Case %d: %d EXC\n",i,temp); else if(temp>=980000&&temp<=999720) printf("Case %d: %d SSS\n",i,temp); else if(temp>=950000&&temp<=979999) printf("Case %d: %d SS\n",i,temp); else if(temp>=900000&&temp<=949999) printf("Case %d: %d S\n",i,temp); else if(temp>=850000&&temp<=899999) printf("Case %d: %d A\n",i,temp); else if(temp>=800000&&temp<=849999) printf("Case %d: %d B\n",i,temp); else if(temp>=700000&&temp<=799999) printf("Case %d: %d C\n",i,temp); else if(temp>=500000&&temp<=699999) printf("Case %d: %d D\n",i,temp); else printf("Case %d: %d E\n",i,temp); } return 0; }
时间: 2024-10-23 13:57:27