本题考点:

  • 排序的应用

假设全校有最多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 打印选课学生名单相关推荐

  1. 打印选课学生名单 (25分)

    打印选课学生名单 (25分) 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为 ...

  2. 5 打印选课学生名单 (25分)

    5 打印选课学生名单 (25分) 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000) ...

  3. 5 打印选课学生名单 (25 分)

    5 打印选课学生名单 (25 分) 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000 ...

  4. 5 打印选课学生名单

    5 打印选课学生名单 分数 25 作者 DS课程组 单位 浙江大学 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一 ...

  5. 7-47 打印选课学生名单 (25分))

    7-47 打印选课学生名单 (25分) 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤400 ...

  6. PTA 7-47 打印选课学生名单分数 25 分 (C 邻接表+二叉排序树 )

    题目: 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤2 ...

  7. PTA 7-47 打印选课学生名单 (25 point(s))

    假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤2500) ...

  8. PTA 数据结构及算法 7-47 打印选课学生名单

    如有不对,不吝赐教 进入正题: 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000), ...

  9. 7-47 打印选课学生名单 (25 分)(两种做法)(思路加详解+map+vector做法+最后一个点超时解决)+兄弟们冲丫丫

    一:题目 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤ ...

最新文章

  1. 12bit的图像如何向8bit转化_【福联影像】10bit显示器比8bit专业在哪?想告别色彩断层必须要了解...
  2. STM32 不断进入串口中断问题 解决方法
  3. Redis最佳实践指南
  4. 【matlab】画图的文字调整大小
  5. 1.Hadoop的组成 HDFS YARN
  6. linux添加回收站(脚本)
  7. 大学c语言程序设计上机题库,c语言上机题库(c语言程序设计基础题库)
  8. 3个小故事让你搞懂什么是敏捷开发模式!
  9. 还需要注册的是我们还有一个是“交差集” cross join, 这种Join没有办法用文式图表示,因为其就是把表A和表B的数据进行一个N*M的组合,即笛卡尔积。表达式如下:...
  10. Java 微信小程序笔记 三、 微信小程序邀请码生成
  11. 《软件测试过程改进》读书笔记
  12. 主干(trunk)、分支(branch )、标记(tag) 用法示例 + 图解
  13. 出现找不到sct文件解决方法:.\Objects\MyFirstExample.axf: error: L6031U: Could not open scatter descript
  14. SpingBoot/JAVA实现给图片加水印功能(通过thumbnailator库)
  15. fastadmin btn-ajax,FastAdmin 在线命令生成时出错的分析
  16. 【HANA系列】SAP HANA XS Administration Tool登录参数设置
  17. xcode5 Localized 多语言 本地化
  18. Kubernetes inotify watch 耗尽
  19. 改进的LCS算法的应用
  20. 1.25 Cubemx_STM32H743II—QSPI

热门文章

  1. LibreOffice 6.2.2 Office办公套件发布
  2. IM 朋友圈后台存储设计
  3. 蚂蚁区块链第9课 SSL/TLS工作原理及在蚂蚁BAAS中的应用
  4. 【SaltStack官方版】—— EventsReactor系统—BEACONS
  5. KPI关键绩效指标(Key Performance Indicator)
  6. 天猫精灵方糖AI智能音箱拆解报告
  7. 万万没想到:用理工科思维理解世界-读后感
  8. 硬盘安装工具cgi3.2_笔记本旧硬盘改造移动硬盘,满足媳妇办公存储需求
  9. Java期末大作业-工资系统平台(实验报告内附代码)
  10. PaddleNLP_基于seq2seq的对联生成