1025 PAT Ranking (25分)

本题改错过程:

最开始一直测试点4出错,改了很久。
之前写的的版本是,把0-30000分成100份,0~299 ,300~599这样子,然后每个考场的数据写入对应的区域,再分别排序,计算考场内排名。之后再对整体排序,计算整体排名。
后来就改成了现在的,把所有人的数据只放在前cnt单元内,考场内排序就对(cnt-k,cnt)的单元排序,整体排序也只对前cnt个单元排序,测试点4就通过了

分析:

所以我觉得可能问题出在第一种方法计算整体排名的时候,因为有很多节点是没有赋值的,所以会出错(虽然输入样例,答案是正确的) 因此以后碰到这种排序题,尽量不要把没有赋值的节点放进排序比较中!!!

#include<iostream>
#include<cstdio>
#include<string>
#include<string>
#include<algorithm>
using namespace std;

int n,cnt=0;
struct node{
   
    string id;
    int sco=-1,loc,locrank,frank;
}p[30005];
bool 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值