U570730 Phigros - 音游
题目背景
oiiaiooiiai
题目描述
在 Phigros 中有四种键:\
`Tap`、\
`Hold`、\
`Drag`、\
`Flick`。
~~为了让题目更复杂,~~ 我们设出 $5$ 种键的判定等级:
1. `Perfect`:获得该键 $100\%$ 的得分。
2. `Good`:获得该键 $50\%$ 的得分。
3. `Bad`:获得该键 $10\%$ 的得分。
4. `Early`:获得该键 $5\%$ 的得分。
5. `Miss`:获得该键 $0\%$ 的得分。
关于评级的特殊事项:
- `Hold`:如果在长按 `Hold` 时松手,会获得 $0\%$ 的得分。
- `Drag`:只有 `Perfect` 和 `Miss` 两种评级。
$\text{Combo}$:连续 $3$ 次及以上的连触会触发 $\text{Combo}$。\
$\text{Combo}$ 会被 `Early` 和 `Miss` 断掉。
在 Phigros 中,一首曲目的满分为 $1000000$ 分。满分以所有键全 `Perfect` 为准。对应的,一个键的 `Perfect` 分值为 $\frac{1000000}{键数}$。**保证 $1000000$ 是键数的倍数。**
在 Phigros 的某些曲目中会出现**异象**。异象中会出现奇异的谱面效果,触发某些特殊事件。我们规定,在异象中,
`Perfect`:获得该键 $100\%$ 的得分。\
`Good`:获得该键 $50\%$ 的得分。\
`Bad`:获得该键 $0\%$ 的得分。\
`Early`:获得该键 $0\%$ 的得分。\
`Miss`:获得该键 $0\%$ 的得分。
分数评级:根据每首曲目的总分值等信息,每次游玩每首曲目总分都会被分为不同评级:
1. `Phi`:$1000000$ 分。
2. `Blue V`:全连($\text{Combo}$数等于总键数)。
3. `V`:$960000$ 分及以上且没有 `Bad`、`Miss`、`Early`。
4. `S`:$920000$ 分及以上且 `Bad`、`Miss`、`Early` 总和小于 $6$。
5. `A`:$880000$ 分及以上。
6. `B`:$820000$ 分及以上。
7. `C`:$700000$ 分及以上。
8. `D`:小于 $700000$ 分。
现在给出 Gygrg 打某首曲面的触键情况(给出每秒的键以及 Gygrg 那秒的触键情况),帮忙计算 Gygrg 的得分与分数评级。
用 $n$ 表示键数,$m$ 表示秒数,$x$ 表示异象数。
输入格式
共 $m+2x+1$ 行。
第一行:两个整数,分别为 $n$、$m$ 和 $x$。\
接下来 $m+2x$ 行,
- 每当异象出现,只会输入一个 `#`,**且保证本秒没有按键**。对应的,结束时会输入另一个 `#` 配对,**保证当秒没有按键**。
- 否则,本行输入本秒键的情况(**不保证每秒只有一键**):
- 如果此键为 `Tap`,输入 $0$;
- 如果此键为 `Hold`,输入 $1$;
- 如果此键为 `Drag`,输入 $2$;
- 如果此键为 `Flick`,输入 $3$。
接着是一个数字,代表该键评级:
- 如果评级为 `Perfect`,输入 $0$;
- 如果评级为 `Good`,输入 $1$;
- 如果评级为 `Bad`,输入 $2$;
- 如果评级为 `Early`,输入 $3$。
- 如果评级为 `Miss`,输入 $4$。
如果该键为 `Hold`,且上一秒按键也为 `Hold`,默认两秒的 `Hold` 相连,如果某秒 `Hold` 断裂(变为 `Miss`),下一秒的 `Hold` 视为另一个 `Hold`。
如果该键为 `Drag`,只有 `Perfect` 和 `Miss` 两种评级。
如果有其它键,在上一个键后面输入。
`Hold` 除此 `Hold` 的第一秒外,只有 `Perfect/Good`(看第一秒的评级)和 `Miss`。
输出格式
两行。
第一行:一个整数,代表总分数。\
第二行:一个字符串,带表总分值评级(见题目描述)。
说明/提示
### 数据解释
样例1:\
有 $2$ 个 `Tap` 键,$2$ 个 `Drag` 键,$1$ 个 `Hold` 键, $0$ 个 `Flick` 键。
一个键的 `Perfect` 分值为 $\frac{1000000}{5}=200000$ 分。对应的,一个键的 `Good` 分值为 $\frac{1000000}{5}\times\frac{1}{2}=200000$ 分。
第 $1$ 个键:`Tap` 键。`Perfect` 评级,得 $200000$ 分。\
第 $2$ 个键:`Tap` 键。`Perfect` 评级,得 $200000$ 分。\
第 $3$ 个键:`Drag` 键。`Perfect` 评级,得 $200000$ 分。\
第 $4$ 个键:`Hold` 键。`Good` 评级,得 $100000$ 分。\
第 $5$ 个键:`Drag` 键。`Perfect` 评级,得 $200000$ 分。
总和 $900000$ 分,得 `A` 评级。
对于 $100\%$ 的数据,保证 $1 \le m \le 5 \times 10^5,1 \le n \le 5 \times 10^6,1 \le x \le 10000$。