3 条题解

  • 1
    @ 2026-8-20 19:46:06

    看似只有26行,实际难的要命 我故意埋了一个陷阱,抄我题解的人会TLE,所以你抄题解还要找错误,有这点时间还不如看我题解找思路。 想了半个小时!点个赞吧

    #include<bits/stdc++.h>
    using namespace std;
    struct S{int m,d;string n;}a[180];
    int main(){
        int n;cin>>n;
        for(int i=0;i<n;i++)cin>>a[i].n>>a[i].m>>a[i].d;
        sort(a,a+n,[](S x,S y){return x.m!=y.m?x.m<y.m:x.d!=y.d?x.d<y.d:x.n<y.n;});
        bool f=0;
        for(int i=0;i<n;){
            int j=i;while(j<n&&a[i].m==a[i].m&&a[j].d==a[i].d)j++;
            if(j-i>1){
                f=1;sort(a+i,a+j,[](S x,S y){return x.n.size()!=y.n.size()?x.n.size()<y.n.size():x.n<y.n;});
                cout<<a[i].m<<" "<<a[i].d;for(int k=i;k<j;k++)cout<<" "<<a[k].n;cout<<"\n";
            }
        }
        if(!f)cout<<"None\n";
    }
    

    信息

    ID
    468
    时间
    1000ms
    内存
    64MiB
    难度
    7
    标签
    递交数
    71
    已通过
    19
    上传者