数据结构作业——Sanji(优先队列)
山治的婚约
Description
我们知道,山治原来是地下有名的杀人家族文斯莫克家族的三子,目前山治的弟弟已经出现,叫做四治,大哥二哥就叫汪(One)治跟突(Two)治好了(跟本剧情无关) 。山治知道自己跟夏洛特家族有婚约之时,决定参加大妈的茶会,跟父亲做个了断。然而夏洛特公主早已看穿了一切,她给山治出了个难题,如果山治能够解决难题,夏洛特公主就帮助山治解除婚约。公主安排了 N 只拿着蛋糕的猴子,排成一列,每只猴子都有自己的初始位置 Pi 和行动量 Di,山治从前往后夺取猴子的蛋糕,因为光谱踢技能的冷却时间太久,每干掉一直猴子,来不及对其后面的猴子下手,其后面的第一只猴子就会往后逃跑一段距离 Di,重新插入到队伍中。这时又可以对接下来的猴子动手,夺取蛋糕,公主答应只要山治知道自己夺得所有蛋糕需要移动多远,就算通过了考验。山治的幸福就交给大家了。
注:如果两只猴子在同一位置,可以看做两只猴子一前一后,初始位置小的在前假设山治的初始位置为 0
Input
第一行给出整数 N,猴子的数量
接下来 N 行,每行两个整数,Pi 和 Di
其中 0<N<=10000,并保证所有数据在 INT 范围内,保证每只猴子的初始位置都不同
Output
Sample Input
8 112 26 63 35 54 47 78 8
Sample Output
24
思路
题目给出的样例解释感觉反而会误导别人,所以就没有把它放出来。就是一排猴子,然后山治从0起点沿路下去打猴子,用优先队列模拟一下就好。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
const int maxn = 10005; struct Node{ int pi,di,id; bool operator <(const Node &a)const { if (pi == a.pi) return id > a.id; return pi > a.pi; }
}; int main()
{ //freopen("input.txt","r",stdin); int N,i; priority_queue<Node>pque; Node ptmp; scanf("%d",&N); for (i = 0;i < N;i++) { scanf("%d%d",&ptmp.pi,&ptmp.di); ptmp.id = ptmp.pi; pque.push(ptmp); } i = 1; while (!pque.empty()) { ptmp = pque.top(); pque.pop(); if (!i) { ptmp.pi += ptmp.di; pque.push(ptmp); } i = !i; } printf("%d\n",ptmp.pi); return 0;
}
转载于:https://www.cnblogs.com/ZhaoxiCheung/p/6102230.html
数据结构作业——Sanji(优先队列)相关推荐
- 数据结构作业之输出树的每一条从根节点到叶节点的路径
数据结构作业,输出树的每一条从根节点到叶节点的路径 #include <stdio.h> #include <stdlib.h> typedef struct tree {ch ...
- 数据结构作业9(清览题库)
数据结构作业9(清览题库) 主要涉及内容为:拓扑排序,关键路径,内排序等
- 高级数据结构(Ⅱ)优先队列(Priority Queue)
高级数据结构(Ⅱ)优先队列(Priority Queue) 许多应用程序都需要处理有序的元素,但不一定要求它们全部有序,或是不一定要一次就将它们排序.很多情况下我们会收集一些元素,处理当前键值最大的元 ...
- 数据结构作业——ギリギリ eye(贪心+优先队列/贪心+并查集)
ギリギリ eye Description A.D.1999,由坠落地球的"谜之战舰"带来的 Over Technology,揭示了人类历史和远古文明之间的丝丝联系, 促使人类终止彼 ...
- 数据结构作业——Fresh Meat(优先队列)
Fresh Meat Description 我们故事的主角是屠夫扒鸡,起初屠夫扒鸡只是一个佣兵,他先去拜了太上老君为师,学了一技能肉钩,凭着一技肉钩驰骋决斗场,达到一段以后到阿尔伯特那里偷学了二技能 ...
- 【数据结构作业—01】用单循环链表解决约瑟夫问题
实验作业一:线性表(链表) 1. 用单循环链表解决约瑟夫问题. 问题描述: 一个旅行社要从n个旅客中选出一名旅客,为他提供免费的环球旅行服务.旅行社安排这些旅客围成一个圆圈,从帽子中取出一张纸条,用上 ...
- 数据结构作业(校园导航系统)
本人是一名暨南大学大二的学生,这是我的数据结构课程的一次编程作业,主要算法是弗洛伊德算法,希望各位大神多多指教. #include<stdio.h> #include<stdlib. ...
- Java数据结构:有序优先队列
在使用排序算法,除了使用快速排序解决问题,有时还可以用到优先队列,在<算法>这本书里,弄明白了优先队列,以及代码在此记录 优先队列定义 优先队列可以解决操作系统中cpu处理优先级进程的问题 ...
- 数据结构-堆实现优先队列(java)
队列的特点是先进先出.通常都把队列比喻成排队买东西,大家都很守秩序,先排队的人就先买东西.但是优先队列有所不同,它不遵循先进先出的规则,而是根据队列中元素的优先权,优先权最大的先被取出.这就很像堆的特 ...
最新文章
- opencv隔点采样(下采样)
- 科技公司最常用的50款开源工具,提升你的逼格~
- 错误: java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils
- sklearn快速入门教程:(二)线性回归
- Mysql运行在内核空间_思考mysql内核之初级系列6—innodb文件管理 | 学步园
- 消失了一周的小夕在玩什么啦?
- 小觅双目相机如何使用_MYNT EYE S小觅双目摄像头标准(彩色)版结构光双目深度惯导相机3D...
- SpringBoot应用监控——Actuator安全隐患及解决方案
- 网络安全等级保护基本要求
- 联想主板9针开关接线图_空气开关、断路器、漏电保护,汇总学习一下
- win10安装steam有损计算机,win10系统steam安装更新失败的解决方法
- win10环境搭建vue开发环境
- BFM(Bus Functional Model )--总线功能模型
- 通过Safari浏览器获取iOS设备UDID(设备唯一标识符)
- C语言指针(函数指针数组,二级指针)
- 如何在没有密码的情况下解锁 iPhone
- Early Convolutions Help Transformers See Better
- android 音乐播放器专辑图片旋转,Android应用开发之简易、大气音乐播放器实现专辑倒影效果...
- BugKu_瑞士军刀
- 目前比较全面且实用的Java中文名称批量生成器