博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT1025. PAT Ranking
阅读量:5078 次
发布时间:2019-06-12

本文共 1337 字,大约阅读时间需要 4 分钟。

/因为这道题之前做过一次,看了别人的算法思想用local跟galobal排序并插入,所以一写就是照着这个思想来的,记得第一次做的时候用sort分段排序,麻烦要记录起始位置,好像最后还没A,这次用别人的思想在比较函数出出了点问题,没有意识到别人直接用的string,而我用的字符串数组,比较时要加strcmp;小白啊,大神通篇都是库函数。。。。。

#include<cstdio>

#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
struct node
{
char id[15];
int score;
int location;
int lrank;
int rank;
};
bool cmp(node a,node b)
{
if(a.score!=b.score)
return a.score>b.score;
else return strcmp(a.id,b.id)<0;
}
vector<node>local,galobal;
int main()
{
freopen("input.txt","r",stdin);
int i,j,n,k;
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
{
scanf("%d",&k);
for(j=0;j<k;j++)
{
node s;
scanf("%s %d",s.id,&s.score);
s.location=i;
local.push_back(s);
}
sort(local.begin(),local.end(),cmp);
for(j=0;j<local.size();j++)
{
if(j!=0&&local[j].score==local[j-1].score)local[j].lrank=local[j-1].lrank;
else local[j].lrank=j+1;
}
galobal.insert(galobal.end(),local.begin(),local.end());
local.clear();
}
sort(galobal.begin(),galobal.end(),cmp);
for(i=0;i<galobal.size();i++)
{
if(i!=0&&galobal[i].score==galobal[i-1].score)galobal[i].rank=galobal[i-1].rank;
else galobal[i].rank=i+1;
}
printf("%d\n",galobal.size());
for(i=0;i<galobal.size();i++)
{
printf("%s %d %d %d\n",galobal[i].id,galobal[i].rank,galobal[i].location,galobal[i].lrank);
}
}
return 0;
}

转载于:https://www.cnblogs.com/zeroArn/p/5235530.html

你可能感兴趣的文章
前端css实现最基本的时间轴
查看>>
bootstrap+fileinput插件实现可预览上传照片功能
查看>>
编程里的API是什么意思?
查看>>
第三周作业,关于老师的一个问题给出了一点自己的想法
查看>>
无线局域网中iPhone无法访问IIS
查看>>
随笔4
查看>>
win 7 安装OFFICE 2007 提示2203错误
查看>>
.NET Core IdentityServer4实战 第一章-入门与API添加客户端凭据
查看>>
PowerShell Commands for SharePoint 2007 PowerShell Commands for SharePoint 2007
查看>>
GPIO的寄存器BSRR和BRR
查看>>
[转]MSP430单片机低功耗控制与系统工作模式详解
查看>>
[多线程]线程基础(对象锁、class锁、同步、异步)
查看>>
一、Python表达式基础
查看>>
Android图片内存优化的几点心得
查看>>
【视频】半小时内编写一个贪吃蛇游戏
查看>>
Pyspider
查看>>
TCP与UDP区别(转)
查看>>
.NET 开发: 确定计算机上已安装的 .NET Framework 版本
查看>>
Python进阶05 循环设计
查看>>
关于Cocos2d-x手机上运行游戏的时候屏幕横屏改竖屏的解决方案
查看>>