#include <iostream>
#include <algorithm>
#include <stdlib.h>
using namespace std;
int n,k;
struct de
{
int yu,shu,ying,sum;//sum总分
int ys,ysg,s;//ys是语文数学总分
//ysg是语文数学较高的那一科的分
int p=0;//排名
}a[20010];
bool cmp(de x,de y)
{
if(x.sum!=y.sum)
return x.sum>y.sum;
else if(x.ys!=y.ys)
return x.ys>y.ys;
else if(x.ysg!=y.ysg)
return x.ysg>y.ysg;
else{x.p=rand()%10000,y.p=x.p;return true; }
}
bool qmp(de x,de y)
{
return x.s<y.s;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
a[i].s=i;
cin>>a[i].yu>>a[i].shu>>a[i].ying;
a[i].sum=a[i].yu+a[i].shu+a[i].ying;
a[i].ys=a[i].yu+a[i].shu;
a[i].ysg=max(a[i].yu,a[i].shu);
}
sort(a+1,a+1+n,cmp);
for(int i=1;i<=n;i++)
{
if(!a[i].p)
a[i].p=i;
else
{
for(int j=1;;j++)
{
if(a[i].p==0)
{
k=j;
break;
}
a[i].p=i;
}
i+=k;
}
}
sort(a+1,a+1+n,qmp);
for(int i=1;i<=n;i++)
cout<<a[i].p<<endl;
return 0;
}
样例也过不去