PTA 7-47 打印选课学生名单
本题考点:
- 排序的应用
假设全校有最多40000名学生和最多2500门课程。现给出每个学生的选课清单,要求输出每门课的选课学生名单。
输入格式:
输入的第一行是两个正整数:N(≤40000),为全校学生总数;K(≤2500),为总课程数。此后N行,每行包括一个学生姓名(3个大写英文字母+1位数字)、一个正整数C(≤20)代表该生所选的课程门数、随后是C个课程编号。简单起见,课程从1到K编号。
这道题直接用 vector 存储即可,但是注意,当数据量很大的时候,cin,cout
用来输入输出就不合适了,这个时候应该选择 scanf,printf
来处理输入输出(真是超时解决的一个方法…)。
完整代码实现如下:
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#define LOCAL
using namespace std;#define MAXN 2510vector<string> lists[MAXN];int main()
{#ifdef LOCALfreopen("data.txt", "r", stdin);
#endifint N, K;scanf("%d%d", &N, &K);getchar();string name;char nameChar[5];int cnt, classId;for (int i = 0; i < N; i++){scanf("%s", nameChar);name = string(nameChar);scanf("%d", &cnt);while (cnt--){scanf("%d", &classId);lists[classId].push_back(name);}getchar();}int len;for (int i = 1; i <= K; i++){sort(lists[i].begin(), lists[i].end());printf("%d %d\n", i, lists[i].size());for (int j = 0; j < lists[i].size(); j++){ // 字符串转为 字符串数组len = lists[i][j].copy(nameChar, lists[i][j].size());printf("%s\n", nameChar);}}return 0;
}
PTA 7-47 打印选课学生名单相关推荐
- 打印选课学生名单 (25分)
打印选课学生名单 (25分) 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为 ...
- 5 打印选课学生名单 (25分)
5 打印选课学生名单 (25分) 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000) ...
- 5 打印选课学生名单 (25 分)
5 打印选课学生名单 (25 分) 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000 ...
- 5 打印选课学生名单
5 打印选课学生名单 分数 25 作者 DS课程组 单位 浙江大学 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一 ...
- 7-47 打印选课学生名单 (25分))
7-47 打印选课学生名单 (25分) 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤400 ...
- PTA 7-47 打印选课学生名单分数 25 分 (C 邻接表+二叉排序树 )
题目: 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤2 ...
- PTA 7-47 打印选课学生名单 (25 point(s))
假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤2500) ...
- PTA 数据结构及算法 7-47 打印选课学生名单
如有不对,不吝赐教 进入正题: 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000), ...
- 7-47 打印选课学生名单 (25 分)(两种做法)(思路加详解+map+vector做法+最后一个点超时解决)+兄弟们冲丫丫
一:题目 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤ ...
最新文章
- 12bit的图像如何向8bit转化_【福联影像】10bit显示器比8bit专业在哪?想告别色彩断层必须要了解...
- STM32 不断进入串口中断问题 解决方法
- Redis最佳实践指南
- 【matlab】画图的文字调整大小
- 1.Hadoop的组成 HDFS YARN
- linux添加回收站(脚本)
- 大学c语言程序设计上机题库,c语言上机题库(c语言程序设计基础题库)
- 3个小故事让你搞懂什么是敏捷开发模式!
- 还需要注册的是我们还有一个是“交差集” cross join, 这种Join没有办法用文式图表示,因为其就是把表A和表B的数据进行一个N*M的组合,即笛卡尔积。表达式如下:...
- Java 微信小程序笔记 三、 微信小程序邀请码生成
- 《软件测试过程改进》读书笔记
- 主干(trunk)、分支(branch )、标记(tag) 用法示例 + 图解
- 出现找不到sct文件解决方法:.\Objects\MyFirstExample.axf: error: L6031U: Could not open scatter descript
- SpingBoot/JAVA实现给图片加水印功能(通过thumbnailator库)
- fastadmin btn-ajax,FastAdmin 在线命令生成时出错的分析
- 【HANA系列】SAP HANA XS Administration Tool登录参数设置
- xcode5 Localized 多语言 本地化
- Kubernetes inotify watch 耗尽
- 改进的LCS算法的应用
- 1.25 Cubemx_STM32H743II—QSPI
热门文章
- LibreOffice 6.2.2 Office办公套件发布
- IM 朋友圈后台存储设计
- 蚂蚁区块链第9课 SSL/TLS工作原理及在蚂蚁BAAS中的应用
- 【SaltStack官方版】—— EventsReactor系统—BEACONS
- KPI关键绩效指标(Key Performance Indicator)
- 天猫精灵方糖AI智能音箱拆解报告
- 万万没想到:用理工科思维理解世界-读后感
- 硬盘安装工具cgi3.2_笔记本旧硬盘改造移动硬盘,满足媳妇办公存储需求
- Java期末大作业-工资系统平台(实验报告内附代码)
- PaddleNLP_基于seq2seq的对联生成