题目
解题思路
先按数学成绩排一次序,记录下来,然后在按信息奥赛的成绩排一次序,直接输出
代码
using namespace std;
struct node{
int a,b,c,d,f;
}t[50];
int n;
bool cmp1(node x,node y)
{ return x.d>y.d; }
bool cmp2(node x,node y)
{ return x.b>y.b; }
int main()
{
freopen("sort.in","r",stdin);
freopen("sort.out","w",stdout);
scanf("%d",&n);
for (int i=1;i<=n;i++)
scanf("%d%d%d%d",&t[i].a,&t[i].b,&t[i].c,&t[i].d);
sort(t+1,t+n+1,cmp2);
for (int i=1;i<=n;i++) t[i].f=i;
sort(t+1,t+n+1,cmp1);
for (int i=1;i<=n;i++)
printf("%d%d %d %d %d %d\n",t[i].a,t[i].b,t[i].c,t[i].d,i,t[i].f);
}