排序以及快排的使用
時間2021.01.04
題目
https://www.luogu.com.cn/problem/P1104
代碼撰寫
#include<bits/stdc++.h>
using namespace std;
struct no{
char name[100];
int year,mon,day;
int level;
}a[110];
bool cmp(no a,no b)
{
if(a.year<b.year)return 1;
if(a.year>b.year)return 0;
if(a.yearb.year)
{
if(a.mon<b.mon)return 1
if(a.mon>b.mon)return 0;
if(a.monb.mon)
{
if(a.day<b.day)return 1;
if(a.day>b.day)return 0;
if(a.day==b.day)
{
if(a.level>b.level)return 1;
else return 0;
}
}
}
}
int main()
{
int n;
scanf("%d",&n);
int i,j;
for(i=1;i<=n;i++)
{
scanf("%s %d %d %d",a[i].name ,&a[i].year,&a[i].mon,&a[i].day);
a[i].level=i;
} //輸入所有的資料
sort(a+1,a+n+1,cmp);//快排,并進行要求運行
for(i=1;i<=n;i++)
{
printf("%s\n",a[i].name);
}//輸出答案
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/246202.html
標籤:其他
