链接:https://ac.nowcoder.com/acm/contest/59840/C 来源:牛客网 Codeforces是一个俄罗斯的算法竞赛刷题网站,每周会有1-3场算法比赛。参赛者的表现将通过评测系统进行评判,根据解题的正确性和速度给予相应的分数。其中,最著名的评分系统是Elo Rating System,它基于选手与其他选手之间的对战结果来计算和调整选手的rating分数。这样,每个选手都会有一个表示他们编程水平的rating分数,通过提高分数可以解锁不同的成就,具体规则如下所示: 0-1199分 Newbie 1200-1399分 Pupil 1400-1599分 Specialist 1600-1899分 Expert 1900-2099分 Candidate Master 2100-2299分 Master 2300-2399分 International Master 2400-2599分 Grandmaster 2600-2999分 International Grandmaster 3000分及以上 Legendary Grandmaster 现在,有Q个问题,每个问题有一个cfid和对应的rating分数,请你根据选手的rating分数输出他的对应成就
时间: 2024-03-30 07:38:02 浏览: 118
HN_OJ.rar_http://acm.hn_hunan oj_oj_湖南大学oj_湖南大学oj网
5星 · 资源好评率100%
好的,根据你提供的规则,我可以写一个简单的代码来实现这个功能。以下是示例代码,你可以参考一下:
```python
ratings = {
"Newbie": (0, 1199),
"Pupil": (1200, 1399),
"Specialist": (1400, 1599),
"Expert": (1600, 1899),
"Candidate Master": (1900, 2099),
"Master": (2100, 2299),
"International Master": (2300, 2399),
"Grandmaster": (2400, 2599),
"International Grandmaster": (2600, 2999),
"Legendary Grandmaster": (3000, float("inf"))
}
def get_achievement(rating):
for achievement, rating_range in ratings.items():
if rating_range[0] <= rating <= rating_range[1]:
return achievement
# 示例输入
cfid = "abc123"
rating = 2400
# 输出成就
print(f"CFID {cfid} 的成就是 {get_achievement(rating)}")
```
示例输出:
```
CFID abc123 的成就是 Grandmaster
```
阅读全文