假设全校有最多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

题目很简单,但是时间要求比较严格,这是自己改进过几遍的代码,终于可以了 ,

最后7777777777777777的意志

#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
using namespace std;
map<string,vector<int> >mp;
map<string,vector<int> >::iterator it;
int main(){int n,k,a,b;char name[20];scanf("%d%d",&n,&k);for(int i=0;i<k;i++){scanf("%d%d",&a,&b);while(b--){scanf("%s",name);mp[name].push_back(a);}}for(int i=0;i<n;i++){scanf("%s",name);it = mp.find(name);int len=it->second.size();printf("%s %d",name,len);sort(it->second.begin(),it->second.end());for(int j=0;j<len;j++){printf(" %d",it->second[j]);}printf("\n");}return 0;
}

7-77 打印学生选课清单 (25分)相关推荐

  1. 7-3 打印学生选课清单 (25分)

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

  2. 7-2 打印学生选课清单 (25分)(c++)

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

  3. 7-49 打印学生选课清单 (25 分)(思路+详解+map做法(一对多)+超时解决)Come baby!

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

  4. 7-7 印度大壶节 (25 分)

    7-7 印度大壶节 (25 分) 印度2021年4月为何突然疫情大爆发,一组照片的曝光让人们注意到印度的大壶节.每6年在印度就会举行一次持续时间达6个星期的大壶节,四个地方每地一次.该节的影响力非常巨 ...

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

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

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

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

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

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

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

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

  9. 7-14 打印选课学生名单(25 分)

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

  10. 7-70 打印选课学生名单 (25 分)

    #include<stdio.h> #include<string.h> int main() {int a[100][10],b[100][1000],i,j,k,n,p,p ...

最新文章

  1. Android CheckedTextView 实现单选与多选
  2. SQL创建表语句文档
  3. Keepalived+LVS+Nginx负载均衡之高可用
  4. PspCidTable 完全解读
  5. 两个整数百分百C语言,2011年9月份计算机二级C语言上机题库(百分百准确),,,[1]
  6. Delphi中的进制转换
  7. edit with idle 没反应_搬个家,猫咪不吃不喝甚至猝死?可能是你没做好“前戏”...
  8. 我的文件夹下面有汉字的路径,matlab 不识别
  9. 实验2.4 使用系统函数pow(x,y)计算xy的值
  10. TensorFlow基础篇(七)——tf.nn.conv2d()
  11. 阶段3 2.Spring_03.Spring的 IOC 和 DI_1 ioc的概念和作用
  12. 小程序毕设作品之微信酒店预订小程序毕业设计(1)开发概要
  13. HTTP代理socks5哪个快
  14. java md5加密 32位 小写
  15. python绘图练习
  16. VUE Router Error matched of undefined
  17. Android 10.0在电话拨号盘(Dialer app中)通过暗码进入工厂测试模式
  18. 微信小程序-wxml笔记(更新中)
  19. MySQL创建数据库、创建数据表
  20. 功利性地去多读书 (现实版)

热门文章

  1. pyserial串口通信之红外线测距模块
  2. 计算机化分析原理波涛,(波涛)证券期货投资计算机化技术分析原理OCR.pdf
  3. matlab 线性方程 lu分解法_数值计算笔记-LU分解
  4. ACCESS数据库程序设计
  5. BP 神经网络算法原理
  6. usb声卡驱动_哑巴电脑拯救者——它可能是你见过使用最简单的外接声卡!
  7. 计算机类毕业论文中期检查,计算机类毕业论文中期检查表
  8. python毕业设计作品基于django框架外卖点餐系统毕设成品(7)中期检查报告
  9. 网络编辑员国家职业标准
  10. html好看鼠标光标特效