菜鸡的并不简洁的代码,自定义了比较函数,利用map结构保存姓出现的次数,便于比较时候查找。 之前用二维vector存储,过了91%,改了一维以后来不及提交了,不知道能过多少........ #include <iostream> #include <map> #include <vector> using namespace std; map<string,int> obj; vector<string> in; bool compare(string a,string b){ string it1,it2; int n1=a.find_first_of(" "); int n2=b.find_first_of(" "); it1.append(a,0,n1); it2.append(b,0,n2); if(obj.find(it1)->second<obj.find(it2)->second) return true; else return false; } void sort_xm(){ int i=0,j=0; string tmp1; for(i=0;i<in.size();i++){ for(j=0;j<in.size()-i-1;j++){ if(compare(in[j],in[j+1])){ tmp1=in[j]; in[j]=in[j+1]; in[j+1]=tmp1; } } } } int main(){ map<string,int>::iterator it; string x,m; int i=0; while(cin>>x>>m){ it=obj.find(x); if(it!=obj.end()) it->second+=1; else obj.insert(pair<string,int>(x,1)); string tmp=""; tmp+=x+" "+m; in.push_back(tmp); } sort_xm(); for(i=0;i<in.size();i++) cout<<in[i]<<endl; return 0; }
点赞 评论

相关推荐

VirtualBool:都去逗他了?
点赞 评论 收藏
分享
06-04 17:59
已编辑
长江大学 Java
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务