D-鬼来了!!
Time Limit: 1000MS   Memory Limit: 65536K
Total Submissions: 39   Accepted: 11

Description

乐乐看了很多鬼故事,他怀疑今天晚上(0:00-6:00这段时间,下面用0-360表示鬼来的时间)会有n个鬼来找他。他现在知道每个鬼来的时间,如果鬼来了,就需要用蜡烛照亮房间,每支蜡烛能燃烧T分钟,最少需要K支蜡烛才能把鬼吓跑。

乐乐想知道他最少需要点多少根蜡烛,才能安全度过今晚。

Input

第一行3个整数n、T、K,含义如题目描述。

第二行n个整数,表示每只鬼来的时间,时间单调递增。

Output

输出需要最少需要点蜡烛数,如果不能把所以的鬼,都吓跑,输出-1.

Sample Input

1 8 3 102 10 1 5 81 1 3 10

Sample Output

31-1

Hint

如果在第x时刻点一个蜡烛,那么这根蜡烛,会在[x+1,x+T]这段时间,照亮房间。

可以在任何时刻点蜡烛(只能一个),点蜡烛的时间为负数时,表示在午夜前。

对于100%的数据,n、k、T的范围[1,300],鬼来的时间[1,360];

这道题我想了好久,但是主要卡的还是代码实现的方面。

题目的意思是:现在有n只鬼,然后告诉你蜡烛的持续时间只有Ts,并且告诉你要消灭一个怪物要有k个蜡烛,然后第二行给出了n个鬼的出现时间,时间是按照递增顺序的。问你的是要消灭这些怪物最少需要多少蜡烛?

贪心的思想很容易想到,我们为了使蜡烛的数量尽量的少,那么我们就要把蜡烛尽量的从靠近怪物的地方开始点起。

注意这里时间可能会从午夜前开始,所以会产生负的,为了方便,我们直接把时间加上很多,这样就全是正的了。

然后我们首先要判断在当前的鬼的时刻是否安全,for一遍看已有的蜡烛数是不是大于等于所需要的数量,如果没有达到安全水平,那么就从离该鬼出现的时间最近的地方开始插蜡烛,最后再判断一下就好,就可以知道能不能有满足消灭所有的鬼,以及最少的蜡烛数量。

#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#define N 1005
using namespace std;
bool light[2*N]={0};//表示当前时刻是否点蜡烛
int main(){int n,m,t,r,i,j,k,x,c;scanf("%d %d %d",&m,&t,&r); int ans=0;//x为每个鬼来的时间; //c记录的是目前是总共有多少已经被电亮的蜡烛;for(i=1;i<=m;i++){scanf("%d",&x);//这里x再加上N的目的是为了防止点蜡烛的时间是负数,那么会不准确; x+=N;c=0;//从当前时刻的前一秒开始判断, for(j=x-1;j>=0;j--)//判断当前时刻是否安全if(j+t>=x){c+=light[j];}else break;//当蜡烛数大于等于所需要的数量时,那么就直接进行下一个循环; if(c>=r)continue;//start :说明此时还未到达安全水平; //这里是贪心算法,从离鬼近的地方开始算起; for(j=x-1;j>=0;j--){//如果不安全,就从后往前点蜡烛if(j+t<x)break;      //当点的蜡烛不能碰到鬼时,那么就跳出循环,并且输出-1; if(!light[j]){//如果在j这个时刻没有点过蜡烛,那么电亮它,并且标记为1,蜡烛的数量加1; c++;ans++;light[j]=1;}//如果已经有的蜡烛数大于等于需求数,那么就可以把鬼消灭,跳出循环; if(c>=r)break;}//end if(c<r)break;}//if(i<=m)puts("-1");else printf("%d\n",ans);return 0;
}

看了代码,思路就变的开阔起来了。

加油!

ZJNU-2094-D-鬼来了相关推荐

  1. 十三水牌型 图片_鬼灭之刃:鳄鱼揭开十三型的秘密,缘一亲自演示

    鬼灭之刃192话的情报已经公开,鳄鱼并没有持续更新决战现场四柱的最新情况,而是将镜头对准了炭治郎和无惨的战斗.如网友所料,炭治郎这次回归,确实已经在梦中学会了日之呼吸十三型.通过炭治郎的记忆,作者鳄鱼 ...

  2. 【初窥javascript奥秘之事件机制】论“点透”与“鬼点击”

    前言 最近好好的研究了一番移动设备的点击响应速度,期间不断的被自己坑,最后搞得焦头烂额,就是现在可能还有一些问题,但是过程中感觉自己成长不少, 最后居然感觉对javascript事件机制有了更好的认识 ...

  3. 压缩感知及应用 源代码_【DMD应用】基于压缩感知超分辨鬼成像

    [概述] 分辨率是成像系统的一个重要参数, 获得高分辨率图像一直是鬼成像系统的一个目标. 本文提出了以成 像系统点扩散函数作为先验知识, 基于稀疏测量的超分辨压缩感知鬼成像重建模型. 搭建了一套计算鬼 ...

  4. 前后落差大用什么词语_夸迪是什么“鬼”——爱上夸迪之心路历程

    夸迪是什么"鬼" 闺蜜送了我5支粉色次抛,说是含有玻尿酸.这年头好多产品都号称有玻尿酸,我也没当回事. 闺蜜介绍了一下夸迪,我只片面的记住了几个词语,什么华熙生物旗下,什么玻尿酸巨 ...

  5. 《网站分析师实战指南》一2.6 让例行公事的报告见鬼去吧

    本节书摘来自异步社区<网站分析师实战指南>一书中的第2章,第2.6节,作者[美]Brent Dykes,更多章节内容可以访问云栖社区"异步社区"公众号查看 2.6 让例 ...

  6. 特斯拉大半夜「见鬼」!空无一人的路上,它却看见「幽灵」秒刹车

    金磊 贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 讲个「鬼故事」: 夜深人静,一辆特斯拉Model X在空无一人的公路上行驶着. 瞬间!它看到了「人类看不见的东西」,于是便刹车在路上 ...

  7. HDU 2094 产生冠军 (map容器)

    title: 产生冠军 杭电 2094 tags: [acm,stl] 题目链接 Problem Description 有一群人,打乒乓球比赛,两两捉对撕杀,每两个人之间最多打一场比赛. 球赛的规则 ...

  8. HDU hdu 2094 产生冠军 拓扑排序 判定环

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=2094 对于是否有环,是通过一个N(节点数)的循环来判定.检查并更新每个节点的入度数. 每找到一个入度唯 ...

  9. linux 鬼精灵漏洞,鬼精灵Grinch:比Bash破壳(shellshock)更严重的Linux漏洞

    安全研究人员在Linux操作系统中发现了一个名为鬼精灵(Grinch)的漏洞,该漏洞存在于linux系统中,和Bash破壳(shellshock)漏洞一样可以在受害者机器上获得最高权限--Root. ...

  10. 为了做到微服务的高可用,鬼知道我出了多少张牌

    高可用并不是一套整体解决方案,而是由诸多环节组成,一环扣一环,鬼知道为了这些串联起来的环节,我得出多少张牌去应对,才能最终组成一个整个系统的高可用落地方案. 图片来自 Pexels 什么是高可用 在定 ...

最新文章

  1. php javascript wav波形绘制,PHP分析.wav文件并绘制png格式的波形图
  2. C#2.0泛型-Dictionary,List的用法
  3. java 类与对象题_Java 类与对象 编程练习题
  4. Django博客--5.让博客支持 Markdown 语法和代码高亮
  5. C++vector的reserve和resize比原来的容量小
  6. GAN模型计算量减少至1/9!MIT韩松团队提出GAN压缩法,已开源
  7. python调用rest api_调用rest api使用python将数据推送到运动学
  8. 【ST4】Java 中的模板引擎 StringTemplate
  9. 虚控件在GUI编程中的应用
  10. jQuery验证框架(五)验证器
  11. B站有哪些好的Java视频教程,看这篇就够了!
  12. BXP无盘技术应用于网吧的一些经验(转)
  13. 阿里云——零基础入门语音识别——食物声音识别——代码跑通及解析
  14. Visual Studio日文乱码解决方法
  15. ZARA卖床单,线上年增长300%,服饰品牌HOME店成趋势?
  16. 瘟神的尾行 -- Rootkit技术发展史 (转载)
  17. 小布助手在百度飞桨实体链指比赛中的实践应用
  18. 中国房价为什么会居高不下?
  19. Cathy Zhang 箭头函数与普通函数的区别
  20. 高级程序员之抽象能力模型

热门文章

  1. scrapy - 美团民宿 实战练习
  2. mac 上开发常用的软件强烈推荐
  3. QueryByExampleExecutor接口的查询
  4. Hive的学习和使用
  5. ACCESS数据库操作必须使用一个可更新的查询 解决办法
  6. 如何搭建一个公链?公链生态“吸金“七件套,缺一不可
  7. python五种常见的排序方法是_常见的经典的排序方法的实现(Python)
  8. 天猫卖家现在做不下去了,还有后路可走吗?
  9. AM335x(TQ335x)学习笔记——Nandamp;amp;网卡驱动移植
  10. 网易云音乐外链的真实地址下载方法