分析:map的排序,在输出时不能用cin,否则最后一个测试点会超时,用scanf即可
#include <iostream>
#include<cstring>
#include<vector>
#include<stdio.h>
#include<queue>
#include<math.h>
#include<stack>
#include<algorithm>
#include<map>
#include<set>
#define MAX 99999999
typedef long long ll;
using namespace std;
int n,m;
map<string,vector<int>>stu;
int main()
{
cin>>n>>m;
for(int i = 0;i<m;i++)
{
int a,b;
scanf("%d%d",&a,&b);
for(int j = 0;j<b;j++)
{
string x;
cin>>x;
stu[x].push_back(a);
}
}
for(int i = 0;i<n;i++)
{
string x;
cin>>x;
sort(stu[x].begin(),stu[x].end());
cout<<x<<" "<<stu[x].size();
for(int i = 0;i<stu[x].size();i++)
cout<<" "<<stu[x][i];
cout<<endl;
}
return 0;
}