#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<string>v[40000];
bool cmp(string a,string b){
return a<b;
}
int main(){//括号忘带导致出错低级错误(注意)
int n,m,k,_1;
string a;
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>a>>k;
for(int j=0;j<k;j++){
cin>>_1;
v[_1].push_back(a);
}
}for(int i=1;i<=m;i++){
printf("%d %d\n",i,v[i].size());
sort(v[i].begin(),v[i].end(),cmp);
for(int j=0;j<v[i].size();j++){
printf("%s\n",v[i][j].c_str());//string 输出要引地址(注意)
}
}
return 0;
}
总结
1.main后面没加()低级错误 想不到这也能出错。
2. printf("%s\n",v[i][j].c_str());//string 输出要引地址(注意)
3.sort(v[i].begin(),v[i].end(),cmp);//本质是什么类型就cmp写什么类型的比较即可(注意)
bool cmp(string a,string b){
return a<b;
}实际代表的是什么就写什么的bool类型
4.思路不难这里相当于建立一个子父表,因为下表从1~n,所以存储的
英语
问题
整理一个低级错误合集 提高意识