数据结构实验之排序七:选课名单
来源:互联网 发布:平面设计软件怎么下载 编辑:程序博客网 时间:2024/06/08 15:01
数据结构实验之排序七:选课名单
Problem Description
随着学校规模的扩大,学生人数急剧增加,选课名单的输出也成为一个繁重的任务,我校目前有在校生3万多名,两千多门课程,请根据给定的学生选课清单输出每门课的选课学生名单。
Input
输入第一行给出两个正整数N( N ≤ 35000)和M(M ≤ 2000),其中N是全校学生总数,M是课程总数,随后给出N行,每行包括学生姓名拼音+学号后两位(字符串总长度小于10)、数字S代表该学生选课的总数,随后是S个课程编号,约定课程编号从1到M,数据之间以空格分隔。
Output
按课程编号递增的顺序输出课程编号、选课总人数以及选课学生名单,对选修同一门课程的学生按姓名的字典序输出学生名单。数据之间以空格分隔,行末不得有多余空格。
Example Input
5 3Jack01 2 2 3Jone01 2 1 3Anni02 1 1Harry01 2 1 3TBH27 1 1
Example Output
1 4Anni02Harry01Jone01TBH272 1Jack013 3Harry01Jack01Jone01
#include<bits/stdc++.h>using namespace std;vector<string>s[2010]; //存放选择序号为n的课程的姓名学号信息 int t[2010]; //存放 int main(){ int m, n, sum, order; string name; cin>>n>>m; memset(t, 0, sizeof(t)); for(int i=0; i<n; i++){ //输入n个姓名信息和选课的数量 cin>>name>>sum; for(int j=0; j<sum; j++){ //输入选的sum个课程的编号 cin>>order; s[order].push_back(name); //将选这个课程的name放入vector t[order]++; //将选这个课程的人的数目更新 } } for(int i=0; i<2010; i++){ sort(s[i].begin(), s[i].end()); //先将每一个课程的name进行排序 if(t[i]){ //如果这节课有人选那么就把选这个课程的name依次输出 cout<<i<<" "<<t[i]<<endl; for(int j=0; j<s[i].size(); j++){ cout<<s[i][j]<<endl; } } } return 0;}
阅读全文
0 0
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- 数据结构实验之排序七:选课名单
- Python.CVXPY学习指南三
- 记录被计算机虐死的心酸历程之bamm-2.5.0的安装-1
- 2017 Google 开发者大会都有哪些炫酷科技?
- elasticsearch 使用go-mysql-elasticsearch 同步Mysql NDB Cluster 日志格式设置
- 基于Nginx负载均衡方案
- 数据结构实验之排序七:选课名单
- Redis安装
- swift-oc wkwebView使用自定义UIMenuController
- 22. 其他操作流
- Centos下Spark单机版(python)安装配置
- 经典的营销管理模型
- hadoop学习记(2)--HDFS+yarn+MapReduce关系与原理
- C# using System.Xml.Linq;提示没有命令空间问题解决
- Linux下连接Oracle数据库并进行一系列操作