思路:
最后一个测试点真心没意思,用set会超时,用cincout也超,必须加上.c_str(),并且之前要resize。。倒也不必这么恶心人,写代码十分钟改超时一个半小时
代码:
#include<bits/stdc++.h>
using namespace std;
map<int,vector<string>> mp;
int main() {
int n,k;
cin>>n>>k;
string name;
name.resize(4);//必须写
int num, idx;
for(int i=0;i<n;i++){
scanf("%s",name.c_str());//必须这么写
cin>>num;
for(int j=0;j<num;j++){
cin>>idx;
mp[idx].push_back(name);
}
}
for(int i=1;i<=k;i++){
cout<<i<<' '<<mp[i].size()<<endl;
sort(mp[i].begin(),mp[i].end());
for(int j=0;j<mp[i].size();j++) printf("%s\n",mp[i][j].c_str());//必须这么写
}
return 0;
}