set会自动去重和排序
#include<bits/stdc++.h>
using namespace std;
map<string,set<int>> name_c;
int main(){
int n,k;
cin>>n>>k;//n个学生,k个课程 1-k
int idx=1;
for(int i=0;i<k;i++){
int course_id,stu_ct;
cin>>course_id>>stu_ct;
for(int j=0;j<stu_ct;j++){
string stu_name;
cin>>stu_name;
name_c[stu_name].insert(course_id);
}
}
for(int i=0;i<n;i++){
string name;
cin>>name;
cout<<name<<" ";
cout<<name_c[name].size();
for(auto& x:name_c[name]){
cout<<" "<<x;
}
cout<<endl;
}
return 0;
}