P5266 【深基17.例6】学籍管理(map)

首先要注意score的范围,所以要用long long int,其次OK两个字母都是大写,并且插入和修改后都要输出Ok
#include<iostream>
#include<set>
#include<map>
#define int long long
using namespace std;
signed main() {
map<string, int>mapstudent;
int n;
cin >> n;
while (n--) {
int op;
cin >> op;
if (op == 1) {
int score;
string name;
cin >> name >> score;
auto it=mapstudent.find(name);
if (it == mapstudent.end())mapstudent.insert(pair<string, int>(name, score)), cout << "OK" << endl;
else it->second = score,cout<<"OK"<<endl;
}
if (op == 2) {
string name;
cin >> name;
auto it = mapstudent.find(name);
if (it == mapstudent.end())cout << "Not found" << endl;
else cout << it->second << endl;
}
if (op == 3) {
string name;
cin >> name;
auto it = mapstudent.find(name);
if (it == mapstudent.end())cout << "Not found" << endl;
else {
mapstudent.erase(it);
cout << "Deleted successfully" << endl;
}
}
if (op == 4)cout << mapstudent.size() << endl;
}
return 0;
}

浙公网安备 33010602011771号