佬,看看我的第二题,卡死9%了 #include<iostream> (30316)#include<string> #include<vector> (30320)#include<algorithm> #include<map> using namespace std; typedef pair<string, int> PAIR; struct cmp{ bool operator()(const PAIR& l, const PAIR& r){ return l.second > r.second; } }; int main(){ int n,q; cin>>n>>q; map<string, int> m; vector<PAIR> vec; for(int i=0;i<q;i++){ string tmp; cin>>tmp; m.insert(PAIR(tmp,i)); } for(int i=0;i<n;i++){ string s1; cin>>s1; int tmp; cin>>tmp; int count=0; for(int k=0;k<tmp;k++){ string s2; cin>>s2; map<string,int>::iterator it = m.find(s2); if(it!=m.end()) count++; } vec.push_back(PAIR(s1, count)); } sort(vec.begin(), vec.end(),cmp()); for(int i=0;i!=vec.size();i++){ cout<<vec[i].first<<endl; } return 0; }
点赞 1

相关推荐

牛客网
牛客企业服务