打印学生选课清单(25分) c++实现
打印学生选课清单(25分)
- 问题描述
假设全校有最多40000名学生和最多2500门课程。现给出每门课的选课学生名单,要求输出每个前来查询的学生的选课清单。
- 输入
输入的第一行是两个正整数:N(≤40000),为前来查询课表的学生总数;K(≤2500),为总课程数。此后顺序给出课程1到K的选课学生名单。格式为:对每一门课,首先在一行中输出课程编号(简单起见,课程从1到K编号)和选课学生总数(之间用空格分隔),之后在第二行给出学生名单,相邻两个学生名字用1个空格分隔。学生姓名由3个大写英文字母+1位数字组成。选课信息之后,在一行内给出了N个前来查询课表的学生的名字,相邻两个学生名字用1个空格分隔。
- 输出
对每位前来查询课表的学生,首先输出其名字,随后在同一行中输出一个正整数C,代表该生所选的课程门数,随后按递增顺序输出C个课程的编号。相邻数据用1个空格分隔,注意行末不能输出多余空格。
- 样例输入
10 5
1 4
ANN0 BOB5 JAY9 LOR6
2 7
ANN0 BOB5 FRA8 JAY9 JOE4 KAT3 LOR6
3 1
BOB5
4 7
BOB5 DON2 FRA8 JAY9 KAT3 LOR6 ZOE1
5 9
AMY7 ANN0 BOB5 DON2 FRA8 JAY9 KAT3 LOR6 ZOE1
ZOE1 ANN0 BOB5 JOE4 JAY9 FRA8 DON2 AMY7 KAT3 LOR6
- 样例输出
ZOE1 2 4 5
ANN0 3 1 2 5
BOB5 5 1 2 3 4 5
JOE4 1 2
JAY9 4 1 2 4 5
FRA8 3 2 4 5
DON2 2 4 5
AMY7 1 5
KAT3 3 2 4 5
LOR6 4 1 2 4 5
解题思路
定义一个map<string,vector> string来指定人名 vector 中储存课程,对于输出时的排序 用 sort解绝即可.
例如:vector v; sort(v.begn(),v.end());
详细解题思路见代码
代码实现
#include<bits/stdc++.h>
using namespace std;
int main(){int n,m;cin>>n>>m;map<string,vector<int>> mp;for(int i = 0;i < m;i++){int num,ks;cin>>num>>ks;for(int j = 0;j < ks;j++){string s;cin>>s;mp[s].push_back(num);}}for(int i = 0;i < n;i++){string s;cin>>s;sort(mp[s].begin(),mp[s].end());cout<<s<<" "<<mp[s].size();for(int j = 0;j < mp[s].size();j++){cout<<" "<<mp[s][j];}cout<<endl;}
}
打印学生选课清单(25分) c++实现相关推荐
- 7-3 打印学生选课清单 (25分)
7-3 打印学生选课清单 (25分) 假设全校有最多40000名学生和最多2500门课程.现给出每门课的选课学生名单,要求输出每个前来查询的学生的选课清单.输入格式: 输入的第一行是两个正整数:N(≤ ...
- 7-2 打印学生选课清单 (25分)(c++)
7-2 打印学生选课清单 (25分) 假设全校有最多40000名学生和最多2500门课程.现给出每门课的选课学生名单,要求输出每个前来查询的学生的选课清单. 输入格式: 输入的第一行是两个正整数:N( ...
- 7-49 打印学生选课清单 (25 分)(思路+详解+map做法(一对多)+超时解决)Come baby!
一:题目 假设全校有最多40000名学生和最多2500门课程.现给出每门课的选课学生名单,要求输出每个前来查询的学生的选课清单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为前来查询课 ...
- PTA 7-47 打印选课学生名单分数 25 分 (C 邻接表+二叉排序树 )
题目: 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤2 ...
- 打印选课学生名单 (25 分)
假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤2500) ...
- 7-47 打印选课学生名单(25 分)
假设全校有最多 40000 名学生和最多 2500 门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤2 ...
- 7-47 打印选课学生名单 (25 分)
假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤2500) ...
- 7-14 打印选课学生名单(25 分)
假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为全校学生总数:K(≤2500) ...
- 7-70 打印选课学生名单 (25 分)
#include<stdio.h> #include<string.h> int main() {int a[100][10],b[100][1000],i,j,k,n,p,p ...
- 打印选课学生名单 (25分)
打印选课学生名单 (25分) 假设全校有最多40000名学生和最多2500门课程.现给出每个学生的选课清单,要求输出每门课的选课学生名单. 输入格式: 输入的第一行是两个正整数:N(≤40000),为 ...
最新文章
- 为什么说 SQL 是最成功的第四代语言?
- 034_ JDK的Enumeration接口
- ORACLE的所有字段类型
- RIPv2的手工汇总 及其 RIPv2和OSPF的路由重分布
- .net显示今天农历的代码
- BeetleX服务网关授权配置
- 关于.NET微服务最热门的问题解答
- [转]const使用详解
- MySQL安装错误: unknown option '--skip-federated'
- 出租车计费java_java 计程车计费
- JavaScript类数组对象参考
- TIOBE 2 月编程语言排行榜:Python 逼近 C,Groovy 重回 TOP20
- JavaScript--Array; Array.prototype
- 滑动平均_善杰告诉您初中物理学滑动变阻器的各种作用
- 实现两个变量的互换(不借助第三个变量)
- java编写car类_java编写一个汽车类,有属性:品牌、型号、排量、速度,有方法:启动、加速、转弯、刹车、息火...
- vaex库使用方法python_Python秒开100G数据是怎么办到的?
- 深信服下一代防火墙组网介绍及配置
- Kubernetes-蔚来汽车的Kubernetes实践
- 超融合为什么是“绿色的”?