3 条题解

  • 1
    @ 2024-7-30 22:54:52

    pair ,一个优雅的函数(bushi

    #include<bits/stdc++.h>
    using namespace std;
    bool cmp(pair<int,pair<int,pair<int,string>>> necho1,pair<int,pair<int,pair<int,string>>> necho2) {
        if (necho1.first!=necho2.first)
            return necho1.first<necho2.first;
        if (necho1.second.first!=necho2.second.first)
            return necho1.second.first<necho2.second.first;
        if (necho1.second.second.first!=necho2.second.second.first)
            return necho1.second.second.first<necho2.second.second.first;
        return false;
    }
    int main() {
        int n=0;
        cin>>n;
        vector<pair<int,pair<int,pair<int,string>>>> ovo(n+1);
        for(int i=0;i<n;i++){
            cin>>ovo[i].second.second.second>>ovo[i].first>>ovo[i].second.first>>ovo[i].second.second.first;
        }
        sort(ovo.begin(),ovo.begin()+n,cmp);
        for(int i=0;i<n;i++){
            cout<<ovo[i].second.second.second<<endl;
        }
        return 0;
    }
    

    注意,sort的快排有不稳定性,有点问题(最后一个点过不了)还是得手写cmp

    因为感觉比楼上优雅所以发了,还有,请使用 vector 以够度过一个相对成功的码生(bushi

    信息

    ID
    718
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    (无)
    递交数
    105
    已通过
    21
    上传者