老斯不在,譛无语.....复制代码到电脑会吓你一跳(报错信息)

P1093 [NOIP2007 普及组] 奖学金

audvnj @ 2023-07-19 12:25:37


#include<bits/stdc++.h>
using namespace std;
int n[301];
struct qwert
{
    int x;
    int y;
    int s;
    int e;
    int z(){
        return y+s+e;
    }
};
bool cmp(int a,int b)
{
    return a>b;
}
int main()
{
    qwert a;
    int b;
    cin>>b;
    for(int i=1;i<=b;i++)
    {
        cin>>a.x >>a.y >>a.s>>a.e;
    }
    for(int i=1;i<=b;i++)
    {
        sort(a.z(),a.z(),cmp);
    }
    for(int i=1;i<=b;i++)
    {
        cout<<a.x <<' '<<a.z() ;
    }
}

by FengYuXinMing @ 2023-07-19 12:40:57

#include<bits/stdc++.h>
using namespace std;
struct qwert
{
    int x;
    int y;
    int s;
    int e;
    int z(){
        return y+s+e;
    }
};
bool cmp(qwert x,qwert y)
{
    return x.z()>y.z();
}
int main()
{
    qwert a[1005];
    int b;
    cin>>b;
    for(int i=1;i<=b;i++)
    {
        cin>>a[i].x >>a[i].y >>a[i].s>>a[i].e;
    }
    sort(a+1,a+b+1,cmp);
    for(int i=1;i<=b;i++)
    {
        cout<<a[i].x <<' '<<a[i].z();
    }
}

看起来舒服多了


by audvnj @ 2023-07-19 12:41:29

@LgxTpre 哎痛苦,老师非让做完题才能走


by FengYuXinMing @ 2023-07-19 12:42:56

@audvnj

往下翻


by audvnj @ 2023-07-19 12:48:36

@ababbjxzt 为甚么sort那要加1


by audvnj @ 2023-07-19 12:51:47

@ababbjxzt 全WA......


#include<bits/stdc++.h>
using namespace std;
int n;

struct qwert
{
    int x=0;
    int y=0;
    int s=0;
    int e=0;
    int z()
    {
        return y+s+e;
    }
};
bool cmp(qwert a,qwert b)
{
    return a.z()>b.z();
}

int main()
{
    qwert a[301];
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i].x >>a[i].y >>a[i].s>>a[i].e;
    }
    for(int i=1;i<=n;i++)
    {
        sort(a+1,a+n+1,cmp);
    }
    for(int i=1;i<=n;i++)
    {
        cout<<a[i].x <<' '<<a[i].z() ;
    }
}

by audvnj @ 2023-07-19 12:52:45

@ababbjxzt 是不够吗?


by FengYuXinMing @ 2023-07-19 13:00:01

@audvnj 你不要把他套在循环里面啊


by FengYuXinMing @ 2023-07-19 13:05:43

@audvnj 首先啊,这个sort是O(1)的时间复杂度,也就是说,不需要循环,就能成功排序,然后排序的cmp,根据题目,你写的肯定不对,题目是这么说的:语文、数学、英语。先按总分从高到低排序,如果两个同学总分相同,再按语文成绩从高到低排序,如果两个同学总分和语文成绩都相同,那么规定学号小的同学 排在前面,这样,每个学生的排序是唯一确定的。

但是你写出来的是判断总分而已,所以不符合题目规定,要加一个,如果总分一样,判断语文成绩,语文成绩一样,判断学号


by ATZdhjeb @ 2023-07-19 13:16:34

@ababbjxzt sort O(1) 排序??你在说什么???


by FengYuXinMing @ 2023-07-19 13:38:34

@ATZdhjeb 突然反应过来了。。。删不了了,就这样吧


上一页 | 下一页