一个没人认识的题解
2025-08-16 15:53:04
发布于:浙江
2阅读
0回复
0点赞
你们认识吗?
//#include <windows.h>
#include<bits/stdc++.h>
#include<cstdio>
#define fw(l,r,i,j) for(int i=l,END##i=r;i<=END##i;i+=j)
#define fs(r,l,i,j) for(int i=r,END##i=l;i>=END##i;i-=j)
#define ms(arr, val) memset(arr, val, sizeof(arr))
using namespace std;
typedef long long ll;
typedef double d;
typedef unsigned long long ull;
typedef char ch;
typedef string str;
typedef const ll coll;
const ll N=1e5+1;
int n;
struct XS
{
str name;
int medalj,medaly,medalt,medal,subscript;
}player[N];
bool cmp(XS a,XS b)
{
if(a.medal==b.medal)
{
if(a.medalj==b.medalj)
{
if(a.medaly==b.medaly)return a.subscript<b.subscript;
return a.medaly>b.medaly;
}
return a.medalj>b.medalj;
}
return a.medal>b.medal;
}
signed main()
{
ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
cin>>n;
fw(1,n,i,1)
{
cin>>player[i].name>>player[i].medalj>>player[i].medaly>>player[i].medalt;
player[i].medal=player[i].medalj+player[i].medaly+player[i].medalt;
player[i].subscript=i;
}
sort(player+1,player+n+1,cmp);
fw(1,n,i,1)cout<<player[i].name<<' '<<player[i].medal<<endl;
return 0;
}
这里空空如也
有帮助,赞一个