码迷,mamicode.com
首页 > 编程语言 > 详细

沃老师学生的成绩+stl string 的删除操作,加map的自动排序

时间:2018-04-24 21:44:29      阅读:180      评论:0      收藏:0      [点我收藏+]

标签:.com   space   opened   struct   amp   span   sort   字符   isp   

题目链接

思路:stl大法好 将字符的末尾0给去掉,然后比较string的大小,同时用map的自动排序将名字按照字典序输出,>>>stl大法好

技术分享图片
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm> 
#include<map>
#include<set>
#include<vector>
using namespace std;
const int N=2e5+10;
map<string,int>a;
map<string,string>b;
struct node{string a,b;}d[N]; 
void solve(string &s1){
    int len1=s1.size();
    auto it=s1.end();it--;
    while(it!=s1.begin()&&*it==0) s1.erase(it),it--;
}
typedef pair<string,string>P;vector<P>vv;
bool cmp(P s1,P s2){return s1.second>s2.second||(s1.second==s2.second&&s1.first<s2.first);}
int main(){
    std::ios::sync_with_stdio(false);cin.tie(0); 
    int n;
    while(cin>>n){
        string s1,s2;
        while(!vv.empty()) vv.pop_back();
        a.clear(),b.clear();
        for(int i=1;i<=n;i++){
            cin>>s1>>s2; 
            d[i].a=s1,d[i].b=s2;
            solve(s2);vv.push_back({s1,s2}),a[s1]=i;
        }
        int tot=1;
        sort(vv.begin(),vv.end(),cmp);
        for(auto it=vv.begin();it!=vv.end();it++){
            string tmp=it->first;
            cout<<tmp<<" "<<d[a[tmp]].b<<endl; 
        }
    } 
    return 0;
}
View Code

 

沃老师学生的成绩+stl string 的删除操作,加map的自动排序

标签:.com   space   opened   struct   amp   span   sort   字符   isp   

原文地址:https://www.cnblogs.com/vainglory/p/8933457.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!