博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 4393 Throw nails
阅读量:6596 次
发布时间:2019-06-24

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

题意: 有n个人进行一场自行车竞速比赛,知道了每个人第1s走fi米,以后每秒走si米,一个人扔钉子破坏比赛,每秒他都选最靠前的那个人,如果有多个人,选编号最小

          的那个,问你这些人依次被破退出比赛的顺序。

分析:   Si最大只有100,可以建立优先队列数组s[1..100],对于每个优先队列,按第一关键字Fi第二关键字ID排序,每次取出所有的优先队列里最大值,

         然后直接 计算(Time-1)*Si + Fi 找最大的way,将对应的优先队列pop并输出对应ID即可。   

  

#include
#include
#include
#include
#define INF 0x1f1f1f1fusing namespace std;struct node{ int fi,xu; bool operator<(const node& a)const{ return (fi
a.xu); }}tt;priority_queue
q[122];int main(){ int ca=1,i,j,tmp; int t,n,f,s,dmin,dmax,res; scanf("%d",&t); while(t--) { scanf("%d",&n); for(j=1;j<=n;j++) { scanf("%d%d",&f,&s); tt.fi=f; tt.xu=j; q[s].push(tt); } printf("Case #%d:\n",ca++); for(i=1;i<=n;i++) { dmax=-1; dmin=INF; for(j=1;j<=100;j++) if(!q[j].empty()) { tt=q[j].top(); if((i-1)*j+tt.fi>dmax||(i-1)*j+tt.fi==dmax&&tt.xu

 

 

 

转载于:https://www.cnblogs.com/dream-wind/archive/2012/08/27/2659108.html

你可能感兴趣的文章
APP IM 之 XMPP和Jabber及选择方案
查看>>
Swift分割字符串
查看>>
linux 常用命令
查看>>
java开发第一天
查看>>
【路由和交换之H3C自导自演】
查看>>
标准 IO 测试 标准输出,输入,出错缓冲大小;全缓冲文本流大小
查看>>
while_else
查看>>
Dell 12G服务器 手动安装RedHat 6.X
查看>>
教你精简迅雷9内置浏览器,还你一个清爽的迅雷!!!
查看>>
UIVisualEffectView为视图添加特殊效果
查看>>
内置函数
查看>>
tcolorbox 宏包简明教程
查看>>
用字符流进行纯文本的读取和写出
查看>>
POJ2388 HDU1157 Who's in the Middle【中位数+排序】
查看>>
Go语言实现并行分段求和计算
查看>>
vue组件通信新姿势
查看>>
Bootstrap学习
查看>>
FileOutputStreamTest
查看>>
ubuntu apt-get安装、卸载软件命令及如何查看日志
查看>>
c#处理json问题
查看>>