分数 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输出不超时文章来源:https://www.toymoban.com/news/detail-453293.html
#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模板网!