天天看点

【2018.5.12】模拟赛之一-ssl2413 排名【玄学】正题

正题

题目大意

就是给出4科排名,然后求两科的排名,按其中一科排名输出。

解题思路

水题不解释

代码

#include<cstdio>
#include<algorithm>
using namespace std;
struct node{
    int c,m,e,x,ms;
}a[];
int n;
bool cmp(node x,node y)
{return x.x>y.x;}
bool cmp2(node x,node y)
{return x.m>y.m;}
int main()
{
    //freopen("sort.in","r",stdin);
    //freopen("sort.out","w",stdout);
    scanf("%d",&n);
    for (int i=;i<=n;i++)
     scanf("%d%d%d%d",&a[i].c,&a[i].m,&a[i].e,&a[i].x);
    sort(a+,a++n,cmp2);//排序求数学排名
    for (int i=;i<=n;i++)
      a[i].ms=i;
    sort(a+,a++n,cmp);//按电脑排名升序输出
    for (int i=;i<=n;i++)
      printf("%4d%5d%5d%5d%5d%5d \n",a[i].c,a[i].m,a[i].e,a[i].x,a[i].ms,i);
      //玄学部分
}
           

继续阅读