牛客oj 习题3.4奥运排序问题(较复杂的结构体排序)

本文介绍了牛客oj上一道名为'奥运排序问题'的习题,该题目涉及结构体排序。虽然题目描述不严谨,未明确数据量,但建议以十万条数据为基准进行处理。解题方法是先对输入数据的部分元素进行排序,然后通过遍历计算各个名次。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

没想到浙大会出来这么不严谨的题,数据量是多少都没给,遇到这种情况给个十万应付一下就好了。

整体思路没什么问题,就是对输入的数据中拿出部分分别对他们排序,然后再遍历找出名次,不要怕麻烦就好。1A。

 

 

#include <cstdio>
#include <iostream>
#include <algorithm>
#include <string>
#include <cstring>
#include <map>
#include <cmath>
#include <climits>

using namespace std;

const int MAXN = 100005;
const int INF = INT_MAX;

struct Guojia{
	int goldnum;
	int medalnum;
	int peoplenum;
	double goldpro;
	double medalpro;
};

Guojia guojia[MAXN], current[MAXN], example[MAXN], ans1[MAXN], ans2[MAXN], ans3[MAXN], ans4[MAXN];

bool cmp1(Guojia x, Guojia y){
	return x.goldnum > y.goldnum;
}

bool cmp2(Guojia x, Guojia y){
	return x.medalnum > y.medalnum;
}

bool cmp3(Guojia x, Guojia y){
	return x.goldpro > y.goldpro;
}

bool cmp4(Guojia x, Guojia y){
	return x.medalpro > y.medalpro;
}

int main(){
//	freopen("in.txt", "r", stdin);
	int N, M, pos;
	wh
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值