题目描述
您要设计一个学籍管理系统,最开始学籍数据是空的,然后该系统能够支持下面的操作(不超过 105 条):
- 插入与修改,格式
1 NAME SCORE
:在系统中插入姓名为 NAME(由字母和数字组成不超过 20 个字符的字符串,区分大小写) ,分数为 SCORE(0<SCORE<231) 的学生。如果已经有同名的学生则更新这名学生的成绩为 SCORE。如果成功插入或者修改则输出OK
。- 查询,格式
2 NAME
:在系统中查询姓名为 NAME 的学生的成绩。如果没能找到这名学生则输出Not found
,否则输出该生成绩。- 删除,格式
3 NAME
:在系统中删除姓名为 NAME 的学生信息。如果没能找到这名学生则输出Not found
,否则输出Deleted successfully
。- 汇总,格式
4
:输出系统中学生数量。输入格式
无
输出格式
无
输入输出样例
输入
5 1 lxl 10 2 lxl 3 lxl 2 lxl 4
输出
OK 10 Deleted successfully Not found 0
#include<bits/stdc++.h> using namespace std; unordered_map<string,long long> stu; int main() { int n,op; cin>>n; long long score; string s; while(n--) { cin>>op; if(op==1) { cin>>s>>score; stu[s]=score; cout<<"OK"<<endl; }else if(op==2) { cin>>s; if(stu.count(s)) cout<<stu[s]<<endl; else cout<<"Not found"<<endl; }else if(op==3) { cin>>s; if(stu.count(s)) { stu.erase(s); cout<<"Deleted successfully"<<endl; }else{ cout<<"Not found"<<endl; } }else { cout<<stu.size()<<endl; } } return 0; }