logo AlgoBeat OnlineJudge
登录 注册

#213700. [CCPC 2024 重庆站] osu!mania

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

本题目来自仓库 https://github.com/Disposrestfully/CCPC-CQ-2024/tree/main


osu! 是一款风靡全球的音乐游戏,分为四个模式:osu!,osu!taiko,osu!catch,osu!mania。osu!mania 是一款下落式节奏游戏,像是钢琴模拟器一样。这个模式主要由 woc2006 开发并移植。它基于各种轨道式音乐游戏(例如 劲舞革命 (Dance Dance Revolution) 和 狂热节拍 (Beatmania))。

:::align{center}

osu!mania 游戏界面

:::align{left}

osu!mania 的每一局游戏都有若干个音符(note)组成。玩家游玩过程中,对每个音符的打击都会得到一个判定结果,分为 MAX、300、200、100、50、MISS(0)。记整局游戏中,玩家得到这些判定结果的音符个数分别为 ,则该局游戏的准确率(Accuracy,以下简称 Acc)可以按如下方式计算:

由于准确率可能为无限小数,游戏中将会显示其四舍五入的结果。具体地,玩家每局游戏的准确率将会被四舍五入,并保留百分数形式下的两位小数,即精确到

:::align{center}

osu!mania 游戏界面 Acc 计算示例

:::align{left}

例如,在上图所示的一局游戏中,玩家的准确率为

除准确率外,osu!mania 中还有另一个重要的衡量单曲游玩成绩的指标——个人表现(Personal Performance,以下简称 pp)。个人表现与谱面星数与判定成绩相关。谱面星数会决定在该谱面可以获得的 pp 上限,记为 。玩家在一局游戏中获得个人表现可以按如下方式计算( 的含义与 Acc 计算方式中相同):

玩家每局游戏的个人表现将会被四舍五入到最接近的整数。例如,在图 2 所示的成绩中,若 ,则玩家的个人表现为

给定一个谱面的 pp 上限 与玩家在该谱面上的一局游戏的判定结果 。求玩家该局游戏的准确率与个人表现。

输入格式

本题包含多组测试数据。

输入的第一行包含一个正整数 ,表示数据组数。保证

对于每组测试数据:

输入的第一行包含一个非负整数 。保证

输入的第二行包含六个非负整数 ,含义如题目描述所示。保证

输出格式

对于每组测试数据:输出一行两个数,以空格隔开。其中第一个数表示准确率,以百分数形式输出,精确到 ;第二个数为个人表现,以整数形式输出。

样例

样例输入 1

2
630
3029 2336 377 41 10 61
3000
20000 10000 0 0 0 0

样例输出 1

96.20% 423
100.00% 2688

数据范围与提示

在样例的第二组测试数据中,准确率为 ,个人表现为