1095 解码PAT准考证(测试点3)

news2024/11/28 16:53:37

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

solution

  • 测试点3超时:命令为3时,用unordered_map而非map,否则会超时
#include<iostream>
#include<string>
#include<algorithm>
#include<unordered_map>
using namespace std;
const int maxn = 1e4 + 10;
struct stu{
	string id;
	int score;
	friend bool operator < (stu &s1, stu &s2){
		if(s1.score == s2.score) return s1.id < s2.id;
		return s1.score > s2.score;
	}
}stus[maxn], temp[maxn];
int main(){
	int n, m, com, cnt, sum;
	string coms;
	cin >> n >> m;
	for(int i = 0; i < n; i++){
		cin >> stus[i].id >> stus[i].score;
	}
	for(int j = 1; j <= m; j++){
		cnt = sum = 0;
		cin >> com >> coms;
		cout << "Case " << j << ": " << com << " " << coms << endl;
		if(com == 1){
			for(int i = 0; i < n; i++){
				if(stus[i].id.substr(0, 1) == coms){
					temp[cnt].id = stus[i].id;
					temp[cnt++].score = stus[i].score; 
				}
			}
		}
		else if(com == 2){
			for(int i = 0; i < n; i++){
				if(stus[i].id.substr(1, 3) == coms){
					 cnt++;
					 sum += stus[i].score;
				}
			}
			if(cnt) cout << cnt << " " << sum << endl;
		}
		else{
			unordered_map<string, int> mp;
			for(int i = 0; i < n; i++){
				if(stus[i].id.substr(4, 6) == coms) mp[stus[i].id.substr(1, 3)]++; 
			}
			for(unordered_map<string, int>::iterator it = mp.begin(); it != mp.end(); it++){
				temp[cnt].id = it -> first;
				temp[cnt++].score = it -> second;
			}
		}
		if(com != 2){
			sort(temp, temp + cnt);
			for(int i = 0; i < cnt; i++){
				cout << temp[i].id << " " << temp[i].score << endl;
			}
		}
		if(!cnt) cout << "NA" << endl;
	}
	return 0;
} 

或者

#include<iostream>
#include<string>
#include<algorithm>
#include<unordered_map>
#include<vector>
using namespace std;
const int maxn = 1e4 + 10;
struct stu{
	string id;
	int score;
	friend bool operator < (stu &s1, stu &s2){
		if(s1.score == s2.score) return s1.id < s2.id;
		return s1.score > s2.score;
	}
}stus[maxn];
int main(){
	int n, m, com, cnt, sum;
	string coms;
	cin >> n >> m;
	for(int i = 0; i < n; i++){
		cin >> stus[i].id >> stus[i].score;
	}
	for(int j = 1; j <= m; j++){
		cnt = sum = 0;
		vector<stu> vs;
		cin >> com >> coms;
		cout << "Case " << j << ": " << com << " " << coms << endl;
		if(com == 1){
			for(int i = 0; i < n; i++){
				if(stus[i].id.substr(0, 1) == coms) vs.push_back(stus[i]);
			}
		}
		else if(com == 2){
			for(int i = 0; i < n; i++){
				if(stus[i].id.substr(1, 3) == coms){
					 cnt++;
					 sum += stus[i].score;
				}
			}
			if(cnt) cout << cnt << " " << sum << endl;
		}
		else{
			unordered_map<string, int> mp;
			for(int i = 0; i < n; i++){
				if(stus[i].id.substr(4, 6) == coms) mp[stus[i].id.substr(1, 3)]++; 
			}
			for(unordered_map<string, int>::iterator it = mp.begin(); it != mp.end(); it++){
				vs.push_back({it -> first, it -> second});
			}
		}
		if(com != 2){
			sort(vs.begin(), vs.end());
			for(int i = 0; i < vs.size(); i++){
				cout << vs[i].id << " " << vs[i].score << endl;
			}
		}
		if(!cnt && !vs.size()) cout << "NA" << endl;
	}
	return 0;
} 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1851361.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实战|YOLOv10 自定义目标检测

引言 YOLOv10[1] 概述和使用自定义数据训练模型 概述 由清华大学的研究团队基于 Ultralytics Python 包研发的 YOLOv10&#xff0c;通过优化模型结构并去除非极大值抑制&#xff08;NMS&#xff09;环节&#xff0c;提出了一种创新的实时目标检测技术。这些改进不仅实现了行业领…

Appium + Python App自动化第一个脚本

今天跟大家讲解一个Appium和Python App自动化的脚本。 【1】打开你的夜神模拟器&#xff08;或者连接你的手机&#xff09; 【2】打开桌面的Appium 【3】下载你要测的App的apk文件&#xff0c;放到桌面 【4】拖动你的apk安装包到夜神模拟器里&#xff0c;然后模拟器会提示你…

pyinstaller, cx_Freeze打包 pyqt 桌面应用-实操

1 pyinstaller 打包成 exe 参考这个连接&#xff0c; 写的比较全面&#xff1a; https://blog.csdn.net/qq_48979387/article/details/132359366 唯一发现一个错误是增加资源文件时候的分隔符(-add-data SOURCE:DEST)&#xff0c; 按照自己环境的实际的情况来&#xff1a; $…

CS162 Operating System-lecture2

A tread is suspended or no longer executing when its state’s not loaded in registers the point states is pointed at some other thread .so the thread that’s suspended is actually siting in memory and not yet executing or not executing at all with some thi…

探索Linux的奇妙世界:第二关---Linux的基本指令1

1. xshell与服务器的连接 想必大家在看过上一期视频时已经搭建好了Linux的环境了并且已经下好了终端---xshell了吧?让我来带大家看一看下好了是什么样子的: 第一次登陆会让你连接你的服务器,就是我们买的云服务器,买完之后需要把公网地址ip复制过来进行链接,需要用户名和密码连…

Node.js 渲染三维模型并导出为图片

Node.js 渲染三维模型并导出为图片 1. 前言 本文将介绍如何在 Node.js 中使用 Three.js 进行 3D 模型渲染。通过结合 gl 和 canvas 这两个主要依赖库&#xff0c;我们能够在服务器端实现高效的 3D 渲染。这个方法解决了在服务器端生成和处理 3D 图形的需求&#xff0c;使得可…

intouch的报警怎么发到企业微信机器人

厂务报警通知系列博客目录 intouch的报警怎么发到微信上 intouch的报警怎么发到邮件上 intouch的报警怎么发到短信上 intouch的报警怎么发到企业微信机器人 intouch的报警怎么发到飞书机器人 intouch的报警怎么用语音通知到手机用户 创建企业微信群机器人 打开企业微信客…

idea导入项目右侧maven不显示的解决办法

不显示情况&#xff1a; 原因可能是读取项目出错&#xff0c;未正确加载pom文件造成的。 解决方案一&#xff1a; 关闭idea在项目目录中删除.idea文件夹重新打开项目&#xff0c;重新加载。 解决犯案二&#xff1a; 直接在pom文件中右键选择add as maven project。 解决方案三…

【会议征稿,JPCS出版】第三届电力系统与能源技术国际学术会议(ICPSET 2024,7月5-7)

第三届电力系统与能源技术国际学术会议&#xff08;ICPSET 2024&#xff09;将于2024年7月5-7日在杭州举办。由浙江水利水电学院电机产业学院主办&#xff0c;AEIC学术交流中心承办&#xff0c;湖州市南浔创新研究院、南浔区科技局&#xff08;科协&#xff09;协办 。会议主要…

2024年全国青少信息素养大赛python编程复赛集训第九天编程题分享

整理资料解析答案非常不容易,感谢各位大佬给个点赞和分享吧,谢谢 今天题目较简单:适合小学组 大家如果不想阅读前边的比赛内容介绍,可以直接跳过:拉到底部看集训题目 (一)比赛内容: 【小学组】 1.了解输入与输出的概念,掌握使用基本输入输出和简单运算 为主的标准…

基于SpringBoot+Vue大学生网络教学平台设计和实现(源码+LW+调试文档+讲解等)

&#x1f497;博主介绍&#xff1a;✌全网粉丝10W,CSDN作者、博客专家、全栈领域优质创作者&#xff0c;博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌&#x1f497; &#x1f31f;文末获取源码数据库&#x1f31f; 感兴趣的可以先收藏起来&#xff0c;…

LeetCode26. 删除有序数组中的重复项题解

LeetCode26. 删除有序数组中的重复项题解 题目链接&#xff1a; https://leetcode.cn/problems/remove-duplicates-from-sorted-array 题目描述&#xff1a; 给你一个 非严格递增排列 的数组 nums &#xff0c;请你 原地 删除重复出现的元素&#xff0c;使每个元素 只出现一…

Android记录3--ExpandableListView使用+获取SIM卡状态信息

布局文件&#xff1a; /SIM_Card_Demo/res/layout/inbox.xml <LinearLayout xmlns:android“http://schemas.android.com/apk/res/android” xmlns:tools“http://schemas.android.com/tools” android:layout_width“match_parent” android:layout_height“match_par…

终于找到了免费的云服务器

今天朋友推荐了一个免费的云服务器&#xff1a;“阿贝云” 我最喜欢的是它的"免费虚拟主机"“免费云服务器”&#xff0c;省了我好多钱&#xff0c;我的使用感受是用起来经济实惠省心&#xff0c;不要钱的东西谁不喜欢呢&#xff0c;对于普通开发者来说&#xff0c;…

Linux-PXE批量安装

一、部署 PXE 远程安装服务 在大规模的 Linux 应用环境中&#xff0c;如 Web 群集、分布式计算等&#xff0c;服务器往往并不配备光驱设备&#xff0c;在这种情况下&#xff0c;如何为数十乃至上百台服务器裸机快速安装系统呢&#xff1f;传统的 USB光驱、移动硬盘等安装方法显…

使用Mixamo极简绑骨,导入unity中使用

如果你只想专注于角色建模&#xff0c;对于动画设计没有过多精力&#xff1b;如果你想白嫖别人的角色动画&#xff0c;用到自己的模型上&#xff1b;那么&#xff0c;这个网站很适合你&#xff1a;https://www.mixamo.com/ 操作步骤&#xff1a; 首先将自己的模型上传到这个网…

EOS black灵魂回响黑色无法联机/联机报错/联机失败怎么办

灵魂回响黑色EOS black中的职业系统&#xff0c;自由度非常高。从人物属性的精细调整&#xff0c;到装备属性的独特搭配&#xff0c;再到技能的个性化组合&#xff0c;每一步都充满了无限可能。更为惊喜的是&#xff0c;游戏中的角色职业不是一成不变的&#xff0c;而是随着手中…

公共网络IP地址不正确?别担心,这里有解决方案

在数字化时代&#xff0c;公共网络IP地址的正确性对于我们的在线体验至关重要。它不仅是网络连接的标识&#xff0c;更是确保我们正常访问互联网资源、享受网络服务的基础。然而&#xff0c;有时我们可能会遇到公共网络IP地址不正确的情况&#xff0c;这不仅会影响我们的网络速…

为什么五笔没人用了?

五笔输入法现在较少人使用的原因主要有以下几点&#xff1a; 学习门槛高&#xff1a;五笔输入法的学习难度相对较大&#xff0c;需要掌握所有的字根&#xff0c;全面了解编码的规律&#xff0c;并学习每个字的拆字原则&#xff0c;这要求用户有相当高的耐心和时间去学习和练习…

python自动化办公工具:自动批量生成奖状的工具(可视化)

&#x1f446;点击关注 获取更多编程干货&#x1f446; 不知道大家有没有注意到一种趋势&#xff0c;现在即便是那些非程序员&#xff0c;甚至对计算机一窍不通的人&#xff0c;也开始学习Python了&#xff0c;其“普及程度”实在让人感到有些惊讶。 那么&#xff0c;对于那些…