问题标题: 酷町堂:https://ke.codingtang.com/#/problem/problemSub?id=5520

0
0
已解决
汪宇航
汪宇航
新手启示者
新手启示者

https://ke.codingtang.com/#/problem/problemSub?id=5520

如题,最多10分:

https://ke.codingtang.com/#/problems/submitInfo?id=1984757

请问怎么做?

#include <bits/stdc++.h>

using namespace std;

struct f{

string x;

int y,z,d;

}a[101010];

bool cmp(f a,f b){

if(a.y!=b.y) return a.y>b.y;

else if(a.z!=b.z) return a.z<b.z;

else if(a.d!=b.d) return a.d<b.d;

return 1;

}

int main(){

int n;

cin>>n;

for(int i=1;i<=n;i++) cin>>a[i].x>>a[i].y>>a[i].z>>a[i].d;

sort(a+1,a+1+n,cmp);

for(int i=1;i<=n;i++) cout<<a[i].x<<"\n";

return 0;

}

WA10


0
已采纳
李显晨
李显晨
中级启示者
中级启示者

结构体+排序函数:

struct stu{
    string name;
    int x,y,z,pos;
}a[10010];
bool cmp(stu x,stu y){
    if(x.x!=y.x) return x.x<y.x;
    if(x.y!=y.y) return x.y<y.y;
    if(x.z!=y.z) return x.z<y.z;
    return x.pos>y.pos;
}

主函数:

int main(){
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i].name>>a[i].x>>a[i].y>>a[i].z;
        a[i].pos=i;
    }
    sort(a+1,a+n+1,cmp);
    for(int i=1;i<=n;i++){
        cout<<a[i].name<<endl;
    }
    return 0;
}

 

0
朱优扬
朱优扬
中级天翼
中级天翼
结构体:
    struct jy{
        string name;
        int y,m,d,cnt;
    }a[15000];
cmp函数:
    bool cmp(jy o,jy p){
        if(o.y!=p.y) return o.y<p.y;
        if(o.m!=p.m) return o.m<p.m;
        if(o.d!=p.d) return o.d<p.d;
        return o.cnt>p.cnt;
    }
main函数:
    输入>>n;
    循环(从1到n){
        输入>>a[i].name>>a[i].y>>a[i].m>>a[i].d;
        a[i].cnt=i;
    }
    排序(a+1,a+n+1,cmp);
    循环(从1到n)
        输出<<a[i].name<<endl;
    return 0;

AC愉快!!!

0
赵睿泽
赵睿泽
资深守护
资深守护

嘿,我也在做你做的题。

已AC

0
李正轩
李正轩
中级守护
中级守护

这是啥??

我是路过的

0
被禁言 张恩昊
张恩昊
资深天翼
资深天翼

问题标题:

酷町堂:https://ke.codingtang.com/#/problem/problemSub?id=5520

0

已采纳

李显晨

李显晨

中级启示者
中级启示者

结构体+排序函数:

 

struct stu{

string name;

int x,y,z,pos;

}a[10010];

bool cmp(stu x,stu y){

if(x.x!=y.x) return x.x<y.x;

if(x.y!=y.y) return x.y<y.y;

if(x.z!=y.z) return x.z<y.z;

return x.pos>y.pos;

}

主函数:

 

int main(){

int n;

cin>>n;

for(int i=1;i<=n;i++){

cin>>a[i].name>>a[i].x>>a[i].y>>a[i].z;

a[i].pos=i;

}

sort(a+1,a+n+1,cmp);

for(int i=1;i<=n;i++){

cout<<a[i].name<<endl;

}

return 0;

}

显示详细信息

 

 

阅读更多

举报

1 年,6 月 前 0条评论

0

朱优扬

朱优扬

中级天翼
中级天翼

 

结构体:

struct jy{

string name;

int y,m,d,cnt;

}a[15000];

cmp函数:

bool cmp(jy o,jy p){

if(o.y!=p.y) return o.y<p.y;

if(o.m!=p.m) return o.m<p.m;

if(o.d!=p.d) return o.d<p.d;

return o.cnt>p.cnt;

}

main函数:

输入>>n;

循环(从1到n){

输入>>a[i].name>>a[i].y>>a[i].m>>a[i].d;

a[i].cnt=i;

}

排序(a+1,a+n+1,cmp);

循环(从1到n)

输出<<a[i].name<<endl;

return 0;

显示详细信息

 

AC愉快!!!

阅读更多

举报

1 年,6 月 前 0条评论

0

赵睿泽

资深守护

0

李正轩

新手守护

我要回答