ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

map

2022-09-04 21:04:10  阅读:171  来源: 互联网

标签:输出 NAME map mp 格式 lxl name


mp.count(x) 判断x为下标的元素是不是在mp中,是就返回1,不是就返回0
mp.erase(x) 删除mp中x为下标的元素
mp.size() 返回mp中元素的个数
mp.clear() 清空mp

【深基17.例6】学籍管理

题目描述

您要设计一个学籍管理系统,最开始学籍数据是空的,然后该系统能够支持下面的操作(不超过 $10^5$ 条):

  • 插入与修改,格式1 NAME SCORE:在系统中插入姓名为 NAME(由字母和数字组成不超过 20 个字符的字符串,区分大小写) ,分数为 $\texttt{SCORE}$($0<\texttt{SCORE}<2^{31}$) 的学生。如果已经有同名的学生则更新这名学生的成绩为 SCORE。如果成功插入或者修改则输出OK
  • 查询,格式2 NAME:在系统中查询姓名为 NAME 的学生的成绩。如果没能找到这名学生则输出Not found,否则输出该生成绩。
  • 删除,格式3 NAME:在系统中删除姓名为 NAME 的学生信息。如果没能找到这名学生则输出Not found,否则输出Deleted successfully
  • 汇总,格式4:输出系统中学生数量。

输入格式

输出格式

样例 #1

样例输入 #1

5
1 lxl 10
2 lxl
3 lxl
2 lxl
4

样例输出 #1

OK
10
Deleted successfully
Not found
0

代码

#include<bits/stdc++.h>
using namespace std;
int n, num, score;
string name;
map<string, int> mp;
int main(){
	cin >> n;
	for(int i = 1; i <= n; i++){
		cin >> num;
		if(num == 1){
			cin >> name >> score;
			mp[name] = score;
			cout << "OK" << endl;
		}else if(num == 2){
			cin >> name;
			if(!mp.count(name))cout << "Not found" << endl;
			else cout << mp[name] << endl; 
		}else if(num == 3){
			cin >> name;
			if(!mp.count(name))cout << "Not found" << endl;
			else{
				mp.erase(name);
				cout << "Deleted successfully" << endl;
			}
		}else if(num == 4){
			cout << mp.size() << endl;
		}
	}
	return 0;
}

标签:输出,NAME,map,mp,格式,lxl,name
来源: https://www.cnblogs.com/hnzzlxs01/p/16656046.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有