//A1047
#include <iostream>
#include <vector>
#include <algorithm>
#include <string.h>
using namespace std;
int main(){
int n,k;//学生数 课程数
int c,no;//该学生选修的课程数 课程号
string name;
cin>>n>>k;
vector<string> v[k+1];//课程号为下标,存学生姓名
for(int i=0;i<n;i++){
cin>>name>>c;
for(int j=0;j<c;j++){
// cin>>no;
scanf("%d",&no);
v[no].push_back(name);
}
}
for(int i=1;i<=k;i++){
sort(v[i].begin(),v[i].begin()+v[i].size());
// printf("%d %d\n",i,v[i].size());
cout<<i<<" "<<v[i].size()<<endl;
for(int j=0;j<v[i].size();j++){
// cout<<v[i][j]<<endl;
printf("%s\n",v[i][j].c_str());//这里若不用printf输出,最后一个测试点会超时
}
}
return 0;
}
A1047
最新推荐文章于 2024-09-25 10:36:42 发布