1047 Student List for Course

CDR插件开发之CPG插件017 - 在VS2019中实现CPG插件调试(自动写入CPG、自动启动CDR) 在上篇文章中,讲解了图像导出实例:当文档打开后,自动导出当前页面的图像到系统临时文件夹。在代码编写过程中,导出图像路径变量tmpFileName 被修改了很多次,有没有办法实现调试功能,通过控制台打印变量,而不用编译成CPG后再通过消息框来调试?当然是可以的。本篇作为单独篇,以CDR X8版本为例,讲解CPG插件在VS2019中实现调试的具体方法。 工程搭建准备 按照惯例,本篇文章的序号为017,请直接拷贝上一个工程016-export-image(拷贝前最好清理掉 Debug、x64等编译目录.. 阅读详情

1047 Student List for Course (25 point(s))

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

此题属于常规题。最开始的思路是用一个结构体存储每个学生的信息,包括姓名和所选课程,其中所选课程用一个bool mark[]来记录。果不其然,case#3会出现内存超限MLE。

上述思路无非是保存一个学生-课程表,最大情况下是40000*2500,修改思路是将数组二维表改为双重vector<vector<int> >v(n+1),其中vector<i>对应的是第i门课程的学生序号表。输出的时候,对于每一门课程,根据序号所对应的姓名,对v[i]中的序号进行排序(这点最开始没有想到)。

MLE总结:1. 对于稀疏矩阵,采用vector替代二维数组(如本题)。

参考链接:https://www.jianshu.com/p/28e3c22b64b6

#include<iostream>
#include <vector>
#include <algorithm>
#include <cstring>
using namespace std;
char name[40010][5];
bool cmp(int a,int b){//NEW 根据序号对应的姓名字符串,对序号进行排序 
    if(strcmp(name[a],name[b])<0) return true;
    else return false;
}
int main(){
    int n,k;
    scanf("%d %d",&n,&k);
    vector<vector<int> > v(n+1);
    for(int i=0;i<n;i++){
        scanf("%s",name[i]);                
        int cnt;
        scanf("%d",&cnt);
        for(int j=0;j<cnt;j++){
            int k;
            scanf("%d",&k);
            v[k].push_back(i);
        }
    }
    for(int i=1;i<=k;i++){
        printf("%d %d\n",i,(int)v[i].size());
        sort(v[i].begin(),v[i].end(),cmp);//对记录选课学生序号的vector排序 
		for(int j=0;j<v[i].size();j++) {
            printf("%s\n",name[v[i][j]]);
        }
    }
    return 0;
} 

 

大疆FPGA/芯片开发工程师(A卷)笔试题(含详解) 大疆芯片开发岗A卷 一、单选题 1.下列关于多bit数据跨时钟域的处理思路,错误的有   A、发送方给出数据,接收方用本地时钟同步两拍再使用   B、发送方把数据写到异步fifo,接收方从异步fifo里读出   C、对于连续变化的信号,发送方转为格雷码发送,接收方收到后再转为二进制   D、发送方给出数据,发送方给出握手请求,接收方收到后回复,发送方撤销数据 2.对12.918做无损定点化,需要的最小位宽是多少位,位宽选择11位时的量化误差是多少   A、12位,0.0118   B、13位,0.0039 阅读详情

相关推荐

CKAD-CN 考试知识点分享(2) CronJob

成功创建 CronJobppi,每 5 分钟执行一次计算任务;配置了和;设置,超时自动终止;确保 Pod 不重启;手动创建ppi-testJob 验证功能正常;所有任务要求均已满足。

轻的博客 331

1047 Student List for Course(25分)

给出选课人数和课程数目,然后再给出每个人的选课情况,然后针对每一门课程输出选课总人数及所有选课额学生的姓名。3超时的问题:将cin以及cout以scanf和printf代替。用一个二维字符数组存储每门课的选课同学姓名,然后排序输出。

a131529的博客 556

浅谈一下小波变换和EEG信号处理

浅谈小波变换,总结不是很到位,请大家指正。

qq_45045249的博客 2864

1047.Student List for Course

【题意】         给出一些学生的课程列表,输出所有课程的选修学生名字列表 【思路】         用个map>存下所有课程的学生名字列表,要输出时先sort一下即可 【注意点】         1.    得用char*、scanf、printf,否则会超时;         2.    就算一个课程没有一个学生选,也要输出课程号和0 #includ

不应该放弃,直到失去的那一刻 436

vislib_vex5:面向VEX V5的嵌入式视觉处理库

嵌入式视觉处理是机器人实时感知的核心能力,其本质是在资源受限环境下实现图像采集、色彩转换、阈值分割与目标定位的确定性流水线。原理上依赖硬件加速(如DMA2D)、定点运算优化与中断协同机制,以规避浮点开销和动态内存分配。技术价值在于提供亚毫秒级、无RTOS依赖、低延迟可预测的视觉基础能力,显著提升教育及竞赛机器人在动态场景下的响应鲁棒性。典型应用场景包括色块跟踪、目标居中控制、自动导航中的简易视觉伺服等。本文聚焦于专为VEX V5主控(STM32H743+图像协处理器)深度优化的轻量库vislib_vex5,

weixin_31185473的博客 607

OpenHarmony之Histreamer引擎深度解析:pipeline_core架构如何全面取代GStreamer,一统音视频播放与录制

Histreamer是OpenHarmony多媒体框架的核心媒体引擎,采用架构设计。一个轻量级的媒体引擎组件,提供播放、录制等场景的媒体数据流水线处理。1.播放场景分为如下几个节点:数据源读取、解封装、解码、输出;2.录制场景分为如下几个节点:数据源读取、编码、封装、输出。该引擎从OH5.0开始取代了原有的媒体引擎gstreamer(部分文档还保留较老架构的讲解),提供统一的音视频播放、录制、元数据解析等能力。

m0_67505153的博客 333

1047 Student List for Course

题目 根据课程排序,输入学生的总数量,课程总量,每个学生的课程数,课程量和课程号,要求按照课程号和学生姓名的字母序排序. 思路 使用一个二维数组作为map,下标作为课程号,那么按顺序输出就不要排序了,只需要对名字做一遍按字母序排序即可(按字母序排序) 代码 #include <iostream> #include <vector> #include &lt...

测试 435

【WorkBuddy专栏15】灵感被折叠到「更多」里,真的不重要了吗?——一个「被低估」功能的当下价值与未来演变

【WorkBuddy专栏15】灵感被折叠到「更多」里,真的不重要了吗?——一个「被低估」功能的当下价值与未来演变

AI人人懂 963

pat 甲级 1047 Student List for Course

这道题思路较为简单,但是使用cin与cout会超时。需要使用scanf,printf和(string).c_str()的输出方法,减少运算时间,就可以通过了。

weixin_50671259的博客 535

Mac 安装neo4j(解压版)最新版本教程

本文介绍了在Mac M系列操作系统上安装Neo4j图数据库的具体步骤。内容包括:从官网下载解压版Neo4j社区版压缩包;通过终端命令将其解压到/opt目录并重命名;配置环境变量以便全局访问;以及常用命令如启动/停止服务、重置密码等。安装完成后,用户可通过浏览器访问http://localhost:7474,使用默认账号neo4j/neo4j登录并根据提示重置密码。该教程简洁明了地指导用户完成Neo4j在Mac上的安装配置过程。

猿小白的博客 910

免ROOT、不刷机、不依赖Xposed实现Android改机的思路

最近在一个项目中需要模拟多种Android设备的环境。无奈市面上的大部分改机工具,要么需要ROOT权限,要么依赖Xposed,甚至还得重启设备。为了实现更灵活、更干净的改机方式,我开始了漫长的技术探索,最终找到了免ROOT、不刷机、拒绝Xposed的实现路径。Android_IDIMEI手机序列号手机型号、品牌、CPU型号等硬件信息GPS位置、Wi-Fi参数、通话记录、短信等软硬件数据这些信息通常用于标识设备唯一性,而改机就是对这些标识数据进行模拟或篡改。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 2673

【1047】Student List for Course (25 分)

#include<iostream> #include<stdio.h> #include<stdlib.h> #include<math.h> #include<string.h> #include<algorithm> #include<map> #include<vector> #inclu...

发现问题,并解决问题,批判性思维 606

44位abogus补环境与纯算逆向分析

44位ab参数补环境与纯算加密流程逆向分析

吴秋霖的博客 2789

1039 Course List for Student (25 分) &&1047 Student List for Course (25 分)

题意:有NNN个学生查询总共KKK种课程的选课情况,接下来的数字代表课程id,选课学生数量,下一行是选课该课程学生的姓名,由3位大写字母和1位数字组成,最后一列是NNN个学生姓名。 题目链接 思路:用map<string,string>存储学生姓名以及选课情况,每遇到一个id,连接(拼接)该id。最后用map输出选课结果 #include<iostream> #include<cstdio> #include<map> #include<algori.

Mirrors的博客 222

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

PAT 1047 Student List for Course

目录 题目 解题思路 代码 题目 1047 Student List for Course 解题思路 解题思路: 这道题目是1039的变形版,1039题是以学生姓名作为索引,将课程编号作为每位学生的值,而1047这道题目是以课程作为索引,以学生姓名作为其值。与1039相比,题目变得简单了一些,原因是1039是把姓名作为键,进行映射,如果想用map,则会超时...

Do Better 232

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

PAT 甲级 1047  Student List for Course

1047 Student List for Course (25 point(s)) 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 stu...

漫浸天空的雨色的备忘录~ 837

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

1047. Student List for Course (25)

题目链接:http://www.patest.cn/contests/pat-a-practise/1047 题目: Zhejiang University has 40000 students and provides 2500 courses. Now given the registered course list of each student, you are suppose

Apie_CZX的专栏 2688

1047. Student List for Course

Zhejiang University has 40000 students and provides 2500 courses. Now given the registered course list of each student, you are supposed to output the student name lists of all the courses. Input S

LchinaM的专栏 543

【PAT甲级A1047】Student List for Course (25分)(c++)

1047 Student List for Course (25分) 作者:CHEN, Yue 单位:浙江大学 代码长度限制:16 KB 时间限制:400 ms 内存限制:64 MB 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 nam

小庄同学的博客 108
上一篇: 1046 Shortest Distance
下一篇: 1078 Hashing (25 point(s))
coderwait
博客等级 码龄9年 20粉丝 210原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值