题目名称 3964. 冰与火之舞
输入输出 adofai.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 50
题目来源 Gravatarsyzhaoss 于2024-05-06加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:10, 提交:34, 通过率:29.41%
Gravatarchenbp 100 0.000 s 0.00 MiB C++
GravatarAeeE5x 100 0.000 s 0.00 MiB C++
Gravatar 100 0.000 s 0.00 MiB C++
Gravatarwxs 100 0.000 s 0.00 MiB C++
Gravatar花火 100 0.000 s 0.00 MiB C++
Gravatar喵喵喵 100 0.000 s 0.00 MiB C++
Gravatarbyx 100 0.000 s 0.00 MiB C++
Gravatarsyzhaoss 100 0.000 s 0.00 MiB C++
Gravatar鸣人 100 0.128 s 3.33 MiB C++
GravatarLixj 100 0.147 s 3.29 MiB C++
关于 冰与火之舞 的近10条评论(全部评论)

3964. 冰与火之舞

★☆   输入文件:adofai.in   输出文件:adofai.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目背景】

《冰与火之舞》是一款高难度单键节奏游戏。

【题目描述】

在《冰与火之舞》中,音乐的节拍以两颗星球的旋转来表示。他们每转过 $180^\circ$,都代表着音乐中的一拍。当然,音符并不是匀速出现的,所以音符之间的旋转角度能够帮助创造出变化多样的节奏。“我们非常了解音轨不同步会极大地影响音乐游戏的体验,因此,这款游戏采用了极其严格的时间判定方式。”为了顺利达到下一个音符,小 $u$ 必须在星球离下一个音符相差不超过 $60^\circ$ 时点击,并且星球不能绕超过一圈。不同的误差会导致不同的判定:

- 当提前大于 $60^\circ$ 时,判定为Early!!

- 当提前大于 $45^\circ$ 且小于等于 $60^\circ$ 时,判定为 Early!

- 当提前大于 $30^\circ$ 且小于等于 $45^\circ$时,判定为 EPerfect!

- 当提前或延后不大于 $30^\circ$ 时,判定为 Perfect!

- 当延后大于 $30^\circ$ 且小于等于 $45^\circ$时,判定为 LPerfect!

- 当延后大于 $45^\circ$ 且小于等于 $60^\circ$时,判定为 Late!

- 当延后大于 $60^\circ$ 时(或者已经绕了超过一圈),判定为 Late!!

已知下一个音符到来前星星需要转过的角度 $d^\circ$,当前每分钟的拍数 $bpm$,小 $u$ 在 $t$ 毫秒后点击了这个音符,请问判定是什么?

注意星球的旋转是匀速的,每拍之间的间隔也是相同的。

【输入格式】

一行三个正整数 $d,bpm,t$,含义见题目描述。

【输出格式】

共一行,一个字符串,表示判定。

【样例1输入】

180 150 400

【样例1输出】

Perfect!

【样例2输入】

90 328 33

【样例2输出】

Early!

【样例3输入】

180 20000 15

【样例3输出】

Late!!

【样例下载】

样例下载

【样例说明】

样例1解释:可以计算出恰好应该在 $400$ 毫秒后点击,所以误差为 $0^\circ$,按照题目要求输出 Perfect!

样例2解释:误差大约为 $58^\circ$,输出 Early!

样例3解释:可以计算出小球已经绕了超过一圈,故输出 Late!!

【数据规模与约定】

对于 $100\%$ 的数据,$1\le d\le 360,1\le bpm\le 20000,1\le t\le 60000$。

$1$ 毫秒为 $0.001$ 秒。

【来源】

2024年校际联合邀请赛 语法组-第1场 Task2