为什么连样例都没过!!求
查看原帖
为什么连样例都没过!!求
754119
tu_huang_di楼主2025/8/2 22:00
#include<iostream>
#include<algorithm>
using namespace std;
const int N=301;
struct stu
{
    int id,zong,yu,zo,shu,idd;
}a[N];
int n;
bool cmp(stu x,stu y)
{
    if(x.zong!=y.zong)return x.zong>y.zong;
    if(x.zo!=y.zo)return x.yu>y.yu;
    if(max(x.yu,x.shu)!=max(y.yu,y.shu))return max(x.yu,x.shu)>max(y.yu,y.shu);
    return x.id<y.id;
}
int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        int shu,ying;
        cin>>a[i].yu>>a[i].shu>>ying;
        a[i].zong=a[i].yu+a[i].shu+ying;
        a[i].zo=a[i].yu+a[i].shu;
        a[i].id=i;
    }
    sort(a+1,a+n+1,cmp);
    a[1].idd=1;
    for(int i=2;i<=n;i++)
    {
        if(a[i].zong==a[i-1].zong&&a[i].zo==a[i-1].zo&&max(a[i].yu,a[i].shu)==max(a[i-1].yu,a[i-1].shu))a[i].idd=a[i-1].idd;
        else a[i].idd=i;
    }
    for(int i=1;i<=n;i++)
    {
        int m=0;
        for(int j=1;j<=n;j++)
        {
            if(a[j].id==i)m=j;
        }
        cout<<a[m].idd;
    }
    return 0;
}

2025/8/2 22:00
加载中...