佬,看看我的第二题,卡死9%了 #include<iostream> #include<string> #include<vector> #include<algorithm> #include<map> using namespace std; typedef pair<string> 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> m; vector<pair> vec; for(int i=0;i<q>>tmp; m.insert(PAIR(tmp,i)); } for(int i=0;i<n>>s1; int tmp; cin>>tmp; int count=0; for(int k=0;k<tmp>>s2; map<string>::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<</string></tmp></n></q></pair></string></string></map></algorithm></vector></string></iostream>