题目描述

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

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

输入格式

输出格式

输入输出样例

输入 #1复制

5
1 lxl 10
2 lxl
3 lxl
2 lxl
4

输出 #1复制

OK
10
Deleted successfully
Not found
0

上代码:

#include<iostream>
#include<cstring>
#include<map>//要用map嘛......你懂的
using namespace std;
map <string,int> a;   //定义一个string(姓名)到int(分数)的map
int main(){int n;cin>>n; //n条操作for(int i=1;i<=n;i++){int op; //操作种类1234string name; //学生姓名cin>>op; //输入操作种类if(op!=4)  //如果不是操作4就输入学生名字cin>>name;switch(op){  //开始了!case 1:  //操作1:加入或修改学生int score;  //这个操作需要输入分数cin>>score;a[name]=score; //map的对应关系,把名字和分数对应起来cout<<"OK\n";   //根据题目要求输出OKbreak;   //别忘了加break!!!case 2: //操作2:查询学生if(a.count(name)) //如果找得到cout<<a[name]<<endl; //输出对应的分数else cout<<"Not found\n"; //否则"Not Found"break;   //别忘了加break!!!case 3:  //操作3:删除学生if(a.count(name)){ //如果找得到a.erase(name); //那就删了它cout<<"Deleted successfully\n"; //成功删除}else cout<<"Not found\n"; //否则"Not Found" break;  //别忘了加break!!!case 4:  //操作4:学生人数cout<<a.size()<<endl; //输出元素个数就好啦}}return 0;  //这个不用解释了吧
}

洛谷P5266 学籍管理相关推荐

  1. 洛谷P5266 【深基17.例6】学籍管理

    此题为洛谷官方比赛题,鄙人AK.... 你可以选择用map扫描,或者stack队列,但我认为那些太高大上了,所以写了一个struct(结构体,给新手看的 ) 话不多说,直接上AC代码,Ctrl+C去吧 ...

  2. 洛谷 P5266 【深基17.例6】学籍管理 题解

    题目描述 您要设计一个学籍管理系统,最开始学籍数据是空的,然后该系统能够支持下面的操作(不超过 10^5105 条): 插入与修改,格式1 NAME SCORE:在系统中插入姓名为 NAME(由字母和 ...

  3. 洛谷 P5266 【深基17.例6】学籍管理

    题目链接:https://www.luogu.com.cn/problem/P5266 查找与删除,选用STL容器中的unordered_map #include <iostream> # ...

  4. 洛谷P2146DTOJ2409 [NOI2015]软件包管理器

    洛谷P2146&&DTOJ2409 [NOI2015]软件包管理器 题目 题目描述 输入格式 输出格式 样例 样例输入1 样例输出1 样例输入2 样例输出2 数据范围与提示 样例1说明 ...

  5. Java 洛谷 P1089 津津的储蓄计划讲解

    题目描述 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津300300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同. 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在 ...

  6. 模拟退火总结+洛谷模板题(P1337 [JSOI2004]平衡点 / 吊打XXX)

    原来就听说过模拟退火,然后一直觉得神奇,但是没有真正的去实现这个算法. 模拟退火对TSP之类的问题很实用. 1.概念:模拟退火算法(Simulate Anneal,SA)是一种通用概率演算法,用来在一 ...

  7. 深入理解 操作系统 LRU算法(以洛谷P1540题为例)

    LRU算法 LeastRecentlyUsedLeast Recently UsedLeastRecentlyUsed 算法,意为"最近最少使用",这是操作系统内存管理部分重要的一 ...

  8. 【暖*墟】#洛谷网课1.30# 树上问题

    树上倍增 基环外向树DP DFS序与欧拉序 树链剖分 可以参考wjyyy的https://www.wjyyy.top/421.html wjyyy是这样说的: 树链剖分是一种优化,将树上最常经过的几条 ...

  9. 洛谷——P1089 [NOIP2004 提高组] 津津的储蓄计划

    P1089 [NOIP2004 提高组] 津津的储蓄计划 题目描述 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津300300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同. 为 ...

最新文章

  1. 如何搭建以太坊私有链
  2. 【原】为DevExpress的ChartControl添加Y轴控制 和 GridControl中指定列添加超级链接
  3. 【Python】青少年蓝桥杯_每日一题_6.19_画风车
  4. java normalize_java – XPath normalize-space()返回一系列规范化字符串
  5. leetcode 279. 完全平方数(dp)
  6. android关于socket编程,以聊天为例【转】http://hi.baidu.com/yaoyuanhuajx/item/9b93d7565f315ba9acc857d7...
  7. DBArtist之Oracle入门第1步: 如何安装Oracle 11g
  8. mysql 二进制 查询_MySql如何插入和查询二进制数据_MySQL
  9. JavaScript通过style只能获取内联 状态的样式
  10. Tab Space:超棒的Safari浏览器标签快速保存工具
  11. iframe页面相互调用方法
  12. node 压缩图片_6大免费图片压缩神器你值得拥有!
  13. cmd命令结束端口进程
  14. Ubuntu14.04 ec20 4G模块 ppp拨号--rt3070 wifi模块释放sofAP
  15. 【DNN】——多尺度注意力
  16. limits.conf文件_Limits.conf文件限制用户,在Linux中通过示例进行处理
  17. Vmware安装Ubuntu20.04
  18. 京东大数据方向-Java方向-实习面经一面二面(offer没去。。。)
  19. 网页端、移动端导航设计模式全解
  20. 爬虫ip代理对高匿代理ip的重要性

热门文章

  1. Pivoting跳板攻击
  2. Linux下可以给视频换脸吗,视频AI换脸软件教程 看这里
  3. 渗透攻击exp共享站点(建议收藏❤️)
  4. linux运维工程师命令,Linux运维工程师的常用Linux命令汇总
  5. 计算机网络第一节课笔记
  6. 2022-2028全球与中国公共关系分析软件市场现状及未来发展趋势
  7. 撮合引擎开发:MVP版本
  8. CUDA:在NPP中直方图均衡化实例
  9. 金蝶软件虚拟服务器,金蝶软件服务器远程设置
  10. 重大计算机学院院标,计算机学院召开2021年国家自然科学基金申报动员会