这天李老师要整理他家的藏酒,将所有的酒整理出一个名单,需要将酒以酒的年份,价格,品相排序。首先按年份降序排序,如果年份相同的时候,按价格升序排序,如果年份价格都相同的时候按品相升序排序。 Format Input 第一行输入一个n,代表n瓶酒需要整理。 接下来n行,每行输入酒的名字,年份,价格,品相 Format Output 排序后酒的名字 Sample Input 8 拉菲 35 20000 5 青岛啤酒 60 5 5 二锅头 60 5 4 哈尔滨啤酒 60 4 5 黑桃a 15 20000 3 崂山啤酒 3 5 5 五粮液 20 15000 1 茅台 5 20000 2 Sample Output 哈尔滨啤酒 二锅头 青岛啤酒 拉菲 五粮液 黑桃a 茅台 崂山啤酒
#include<bits/stdc++.h>
using namespace std;
struct tfboys
{
string name;
int a;
int b;
int c;
};
tfboys s[100];
int n;
bool tnt(tfboys x,tfboys y)
{
if(x.a!=y.a)
{
return x.a<y.a;
}
if(x.b!=y.b)
{
return x.b<y.b;
}
return x.c<y.c;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>s[i].name>>s[i].a>>s[i].b>>s[i].c;
}
sort(s+1,s+n+1,tnt);
for(int i=1;i<=n;i++)
{
cout<<s[i].name<<endl;
}
return 0;
}
``