047 Student List for Course(24行代码+测试点3分析+超详细注释)

这篇具有很好参考价值的文章主要介绍了047 Student List for Course(24行代码+测试点3分析+超详细注释)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

分数 25

全屏浏览题目

切换布局

作者 CHEN, Yue

单位 浙江大学

Zhejiang University has 40,000 students and provides 2,500 courses. Now given the registered course list of each student, you are supposed to output the student name lists of all the courses.

Input Specification:

Each input file contains one test case. For each case, the first line contains 2 numbers: N (≤40,000), the total number of students, and K (≤2,500), the total number of courses. Then N lines follow, each contains a student's name (3 capital English letters plus a one-digit number), a positive number C (≤20) which is the number of courses that this student has registered, and then followed by C course numbers. For the sake of simplicity, the courses are numbered from 1 to K.

Output Specification:

For each test case, print the student name lists of all the courses in increasing order of the course numbers. For each course, first print in one line the course number and the number of registered students, separated by a space. Then output the students' names in alphabetical order. Each name occupies a line.

Sample Input:

10 5
ZOE1 2 4 5
ANN0 3 5 2 1
BOB5 5 3 4 2 1 5
JOE4 1 2
JAY9 4 1 2 5 4
FRA8 3 4 2 5
DON2 2 4 5
AMY7 1 5
KAT3 3 5 4 2
LOR6 4 2 4 1 5

Sample Output:

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

代码长度限制

16 KB

时间限制

1000 ms

内存限制

64 MB

注意:测试点3卡最后的输出,用cout输出超时,printf输出不超时

#include<bits/stdc++.h>
using namespace std;
unordered_map<int,vector<string>>course;//一个课程号对应一个名字数组 
int main(){
    int n,k;
    cin>>n>>k;
    for(int i=0;i<n;i++){//输入 
        string name;
        cin>>name;
        int num;
        cin>>num;
        while(num--){
            int c;
            cin>>c;
            course[c].push_back(name);//将该学生的名字压入他注册课程c的数组中 
        }
    }
    for(int i=1;i<=k;i++)sort(course[i].begin(),course[i].end());//将每门课程注册的学生按字典序排序 
    for(int i=1;i<=k;i++){//输出 
        cout<<i<<' '<<course[i].size()<<endl;//输出第i门课程和对应学生的人数 
        for(int j=0;j<course[i].size();j++)printf("%s\n",course[i][j].c_str());//将学生的名字输出 
    }
    return 0;
文章来源地址https://www.toymoban.com/news/detail-453293.html

到了这里,关于047 Student List for Course(24行代码+测试点3分析+超详细注释)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++中的list类【详细分析及模拟实现】

    ①list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代**(带头双向循环链表)** ②list的底层是双向链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向 其前一个元素和后一个元素 ③list与forward_

    2024年02月03日
    浏览(74)
  • 【SpringBoot】用SpringBoot代码详细解释<List>的用法

    在Spring Boot应用程序中,我们可以使用Java集合框架中的List接口来存储并操作一组数据。 List是Java集合框架中的一种数据结构,用于存储一组有序的元素 。使用List可以方便地向其中添加、删除或者修改元素,也可以通过下标或者迭代器遍历其中的元素。 在Spring Boot应用程序中

    2024年02月10日
    浏览(33)
  • 从链接器的角度详细分析g++报错: (.text+0x24): undefined reference to `main'

    /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/9/../../../x86_64-linux-gnu/Scrt1.o: in function `_start\\\': (.text+0x24): undefined reference to `main\\\' collect2: error: ld returned 1 exit status    在使用g++编译链接两个C++源文件main.cpp以及VecAdd.cpp时出现了以上编译报错。main.cpp中引用了VecAdd.cpp中定义的函数vecAdd来实现两个

    2024年02月08日
    浏览(41)
  • A First course in FEM —— matlab代码实现求解传热问题(稳态)

    这篇文章会将FEM全流程走一遍,包括 网格、矩阵组装、求解、后处理 。内容是大三时的大作业,今天拿出来回顾下。     涡轮机叶片需要冷却以提高涡轮的性能和涡轮叶片的寿命。我们现在考虑一个如上图所示的叶片,叶片处在一个高温环境中,中间通有四个冷却孔。 假设

    2024年02月09日
    浏览(40)
  • 测试用例(分析法——详细场景法)

    测试用例的定义 :是为某个业务目标,而编制的一组由测试输入,执行条件以及预期结果组成的案例 测试用例模板 : 用例编号,用例模块,用例标题,优先级,前置条件,输入内容,操作步骤,预期结果,时间结果 常见的编写测试用例的方法 等价划分 :  等价类划分属于典型的功能

    2023年04月09日
    浏览(43)
  • 背包九讲(超详细 :算法分析 + 问题分析 + 代码分析)

    特点:每个物品只能用一次,只能是选择或者不选择 题目链接 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 v i ,价值是 w i 。 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 输出最大价值。 输入格式

    2023年04月08日
    浏览(33)
  • Is Mapping Necessary for Realistic PointGoal Navigation 论文阅读和代码分析

    题目 :Is Mapping Necessary for Realistic PointGoal Navigation? 作者 :Ruslan Partsey、 Erik Wijmans 代码地址 :https://rpartsey.github.io/pointgoalnav/ 来源 :CVPR 时间 :2022 目标:证明显式地图不是成功导航的必要条件。 对比实验 数据集(模拟器):无地图导航模型的标准数据集Gibson。 模拟器和现

    2024年02月15日
    浏览(31)
  • 你真的会性能测试吗?性能测试需求分析,从业务到数据(详细)...

    产品需求 业务场景: 一个问卷调查的功能,然后产品和业务会不定时通过前端界面去根据筛选条件查询相关问卷问题的答案明细,但是觉得很慢,让测试这边给出一个指标。 系统架构: MySQL数据库,所有问卷问题相关的数据都存储在同一张表,单台服务器,无缓存,通过一

    2024年02月10日
    浏览(59)
  • chainlink 小实战 web3 “捐助我”项目合约及前端交互——关于 《Patrick web3 course Lesson 7-8 》课程代码中文详解

    FundMe lesson 的 示例 本质上是一个合约上对 eth 接收和发送的演示,但这个演示增加了前端 ethers 的交互,以及对 chainlink 预言机喂价的使用。 总体来说是一些 Defi 项目上的某一块功能的缩影,不过总体来说还是挺简单的。 若不会 chainlink 喂价的使用可以去看我这篇文 《预言机

    2024年02月02日
    浏览(42)
  • 软件压力测试究竟是如何工作的?详细分析步骤!

    软件测试过程中的步骤之一是压力测试,所谓压力测试,就是让被测系统在接入压力下稳定运行。比如让10000个用户同时访问一个网站,看看网站是否崩溃或者变慢,这就是压力测试。那么压力测试究竟是如何工作的呢?本文将详细分析压力测试的步骤。 软件压力测试是一种基

    2024年02月03日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包