1 条题解
-
0
📝 题目大意
给定 AtCoder 算法部门排名前 10 的玩家昵称之一 ,输出该玩家对应的评级(rating)。题目直接给出了 10 个昵称与评级的对照表,只需要查表输出即可。
💡 解题思路
- 题目分析:输入保证 是给定的 10 个昵称之一,数据范围极小(仅 10 条记录),无需任何复杂数据结构。
- 算法推导:直接使用
if-else链或switch-case对输入的字符串进行匹配,匹配到对应的昵称后输出其评级。由于仅有 10 个固定映射,时间复杂度为常数。 - 边界与细节:输入保证合法,无需处理不存在的昵称情况。注意字符串大小写敏感,必须严格匹配。
⏱️ 复杂度分析
- 时间复杂度:,最多 10 次字符串比较,均为常数级。
- 空间复杂度:,仅使用一个字符串变量存储输入。
💻 标准代码 (C++)
#include<bits/stdc++.h> using namespace std; int main(){ string a; cin >> a; // 根据输入昵称查表输出对应评级 if(a == "tourist"){ cout << "3858"; }else if(a == "ksun48"){ cout << "3679"; }else if(a == "Benq"){ cout << "3658"; }else if(a == "Um_nik"){ cout << "3648"; }else if(a == "apiad"){ cout << "3638"; }else if(a == "Stonefeang"){ cout << "3630"; }else if(a == "ecnerwala"){ cout << "3613"; }else if(a == "mnbvmar"){ cout << "3555"; }else if(a == "newbiedmy"){ cout << "3516"; }else if(a == "semiexp"){ cout << "3481"; } return 0; }
- 1
信息
- ID
- 731
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 1
- 已通过
- 1
- 上传者