实现代码:
#include<bits/stdc++.h> // 包含所有C++标准库的内容
using namespace std;
int main(){
map<string,vector<int>>m; // 创建一个map,键为学生姓名,值为学生ID的vector
int n,k;
cin>>n>>k; // 输入n和k
for(int i=0;i<k;i++){
int id,count;
cin>>id>>count; // 输入学生ID和学生名字数量
for(int j=0;j<count;j++){
string name;
cin>>name; // 输入学生名字
m[name].push_back(id); // 将学生ID加入对应学生名字的vector中
}
}
for(int i=0;i<n;i++){
string name;
cin>>name; // 输入要查询的学生名字
sort(m[name].begin(),m[name].end()); // 对对应学生ID的vector进行排序
cout<<name<<" "<<m[name].size(); // 输出学生名字和对应的学生ID数量
for(int temp:m[name]){//增强版for循环
cout<<" "<<temp; // 输出对应的学生ID
}
cout<<endl;
}
return 0;
}