PAT——A1080(排序)

题意链接:

#include
#include
#include
#include
#include
using namespace std;
#define maxn 10010
struct Student{
    int GE,GI,sum;
    int r,stuID;
    int cho[6];
}stu[40010];
struct School{
    int quota;
    int stuNum;
    int id[40010];
    int lastAdmit;
}sch[110];
bool cmpStu(Student a,Student b)
{
    if(a.sum!=b.sum)
        return a.sum>b.sum;
    else
        return a.GE>b.GE;
}
bool cmpID(int a,int b)
{
    return stu[a].stuID0&&stu[i].sum==stu[i-1].sum&&stu[i].GE==stu[i-1].GE)
        {
            stu[i].r=stu[i-1].r;
        }
        else
            stu[i].r=i;
    }
    for(int i=0;i0)
        {
            sort(sch[i].id,sch[i].id+sch[i].stuNum,cmpID);
            for(int j=0;j

做这种题目思路一定要清晰

一步步来

你可能感兴趣的:(排序,pat重新回顾,PAT)