cpu个人训练四 K 打地鼠游戏
题目描述
伟大的2320学长特别喜欢打地鼠游戏,这个游戏开始后,会在地板上冒出一些地鼠来,你可以用榔头去敲击这些地鼠,每个地鼠被敲击后,将会增加相应的游戏分值。可是,所有地鼠只会在地上出现一段时间(而且消失后再也不会出现),每个地鼠都在0时刻冒出,但停留的时间可能是不同的,而且每个地鼠被敲击后增加的游戏分值也可能是不同。
最近2320学长经常玩这个游戏,以至于敲击每个地鼠只要1秒。他在想如何敲击能使总分最大。
输入
输入包含3行,第一行包含一个整数n(1<=n<=100000)表示有n个地鼠从地上冒出来,第二行n个用空格分隔的整数表示每个地鼠冒出后停留的时间(Maxt<=50000),第三行n个用空格分隔的整数表示每个地鼠被敲击后会增加的分值v(v<=1000)。每行中第i个数都表示第i个地鼠的信息。
输出
输出只有一行一个整数,表示所能获得的最大游戏总分值。
样例输入
5 5 3 6 1 4 7 9 2 1 5
样例输出
24
提示
30%的数据保证n<=100, t<=500,v<=50
60%的数据保证 n<=10000,t<=3000,v<=500
100%的数据保证 n<=100000,t<=5000,v<=1000
思路:充分利用优先队列,让地鼠按照时间从小到大排序。设置一个当前时间遍历所有的地鼠,如果地鼠的时间小于当前时间,那么就和队列中的第一个比较,看看谁的价值大,如果遍历到的这个价值大于队列上的那个价值,就将队列上的pop,并且将当前的入队列,如果时间大于当前时间则直接入队列。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
priority_queue <ll,vector<ll>,greater<ll> > q;//定义一个优先队列,以时间从小到大的排列
struct node{int t,v;
}pp[100010];
bool cmp(node a,node b)
{return a.t<b.t;
}
int main()
{int n;ll sum,ans;while(scanf("%d",&n)!=EOF){sum=ans=0;for(int i=0;i<n;i++){scanf("%d",&pp[i].t);}for(int i=0;i<n;i++){scanf("%d",&pp[i].v);}sort(pp,pp+n,cmp);for(int i=0;i<n;i++){if(sum>=pp[i].t){if(pp[i].v>q.top()){ans+=pp[i].v-q.top();q.pop();q.push(pp[i].v);}}else{//ans+=pp[i].v;q.push(pp[i].v);sum++;}}/*for(int i=0;i<sum;i++){ans+=q.top();q.pop();}*/printf("%d\n",ans);}return 0;
}
cpu个人训练四 K 打地鼠游戏相关推荐
- java四连环游戏编程_Java实现四连环棋游戏
本文实例为大家分享了Java实现四连环棋游戏的具体代码,供大家参考,具体内容如下 游戏规则: (1)双人游戏,有黑红两色棋子,双方各执一色棋子. (2)空棋局开盘,黑棋先发,从最上面一行开始下,棋子会 ...
- 月份对比_2020年5月份,四款主流游戏电脑配置横向对比,你会选择哪款呢?
Hello大家好,我是兼容机之家的小牛. 5月伊始,组装机硬件价格有着不小的回落,不像年初的时候那么高了,现在是个装机的好时机. 今天小牛梳理一下目前市面上卖得比较火热的电脑硬件,顺便给大家带来四款主 ...
- 嵌入式系统项目设计——基于LED、按键、蜂鸣器的打地鼠游戏(完整代码)
内容摘自上学期嵌入式系统课程设计最终的实验报告,因为CSDN不支持上传word资料,所以我就摘录下来写进文章里了,希望可以帮助到你 第一章 绪论 1.1选题背景 打地鼠游戏是一种非常受小孩子欢迎的游戏 ...
- python打地鼠游戏代码_Python 0基础开发游戏:打地鼠(详细教程)VS code版本
如果你没有任何编程经验,而且想尝试一下学习编程开发,这个系列教程一定适合你,它将带你学习最基本的Python语法,并让你掌握小游戏的开发技巧.你所需要的,就是付出一些时间和耐心来尝试这些代码和操作.文 ...
- 数字系统设计————打地鼠游戏设计
一.设计题目说明 此设计意在实现一个相对具有娱乐性的打地鼠游戏模块功能,能够产生随机出现的地鼠,并能对虚拟的敲击按键做出灵敏的识别与判断,从而进行必要的计分与计时行为. 二.实验平台 开发软件: Qu ...
- linux打地鼠游戏代码,JavaScript实现打地鼠小游戏
一.实验说明 1. 环境介绍 本实验环境采用Ubuntu Linux桌面环境,实验中会用到桌面上的程序: Xfce终端: Linux命令行终端,打开后会进入Bash环境,可以使用Linux命令 Fir ...
- 如何用计算机打地鼠,《“打地鼠”游戏的程序实现》教学设计
[教材分析] 本节课教学是在浙教版<信息技术基础>"3.4算法及其实现"内容学完之后的一堂综合应用课,依据是<课程标准>中的: (一)计算机解决问题的基本过 ...
- python打地鼠游戏教程_Python 0基础开发游戏:打地鼠(详细教程)VS code版本
如果你没有任何编程经验,而且想尝试一下学习编程开发,这个系列教程一定适合你,它将带你学习最基本的Python语法,并让你掌握小游戏的开发技巧.你所需要的,就是付出一些时间和耐心来尝试这些代码和操作.文 ...
- python下载字体管家_使用pygame制作打地鼠游戏
使用pygame制作打地鼠游戏 1.运行结果预览 开始界面 第一关 第二关 第三关 第四关 第五关 游戏结束 2.游戏功能介绍 2.1开发环境: python版本:python3.7 2.2相关模块: ...
- WPF 一个训练记忆力的小游戏——记忆联盟
WPF 一个训练记忆力的小游戏--记忆联盟 一.简述 记--一个用来训练记忆力的小游戏--记忆联盟. 例子打包:https://wwa.lanzous.com/iM4ZDllmjzi (2 ...
最新文章
- 用supervisord管理杂乱的服务
- 青龙羊毛——新快手极速版(搬运,非原创)
- Yii的查询搜索函数find findAll findOne:find就是返回结果 findone就是返回一条数据 findall就是返回所有数据
- vm磁盘映射 不能启动_软网推荐:网盘变身本地磁盘
- 数值分析-拉格朗日中值定理与积分中值定理
- Mysql事件的创建和使用
- 快速了解babel工作原理
- 华为数通笔记-NQA
- ivx动效按钮 基础按钮制作 01
- 传智黑马python18期_传智博客黑马Python就业14期资料
- 中国眼下拥有的人造卫星的种类及其作用
- 2021年应用市场放假安排
- ESModule中载入commjs
- MySQL数据库存储过程讲解与实例
- 数据输入流与数据输出流
- 受力分析软件_学了那么多力学,怎么还是不会做有限元分析?
- HTML及CSS常用知识点复习
- 耀世升级发布,阿里新出第三版Java多线程核心技术手册PDF全彩版
- 论文阅读_DeepWalk
- WIin10——QTP10.0运行mgn-mqt82未能生成lservrc文件
热门文章
- 2021年美赛资料准备
- woff文件 服务器上找不到,字体文件未找到错误:IIS服务器上部署svg/woff/woff2字体 MIMe类型配置...
- 台式计算机自动关机,电脑会自动关机是什么原因,台式电脑自动关机是什么原因...
- SAP培训行业权威评测---51sap培训评测网(www.51sap.net)
- 数据库实验课堂作业-1.1数据定义
- 用VSCode写简历表
- java什么是继承_JAVA中什么是继承?
- FFmpeg+SDL纯语音播放器
- 计算摄影: 高动态范围成像
- Linux平台基于v4l2开发免驱摄像头-输出为Opencv Mat