链接:https://ac.nowcoder.com/acm/problem/14392
来源:牛客网

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 65536K,其他语言131072K
64bit IO Format: %lld

题目描述

有n只猴子,第i只猴子每过xi小时会连续吃香蕉yi小时。猴子从第二次开始每次休息结束后这只猴子连续吃香蕉的时间会增加zi小时。

给定n只猴子,每一只的xi,yi,zi,以及时间t,求在前t小时中,所有猴子共吃了多少小时。
对于一只猴子来说是这样的:
从第1小时开始:
休息xi小时( 1 -> xi )
吃yi小时( xi + 1 -> xi + yi )
休息xi小时
吃yi+zi小时
休息xi小时
吃yi+zi+zi小时

输入描述:

第一行两个数n和t;

之后n行,第i+1行每行三个数xi,yi,zi.

输出描述:

一行一个数表示答案.

开始用暴力的方法,发现会超时。然后参考了其他人的题解 ,发现可以用解方程的方法来降低时间复杂度。这其实是一个等差数列的问题。这里还要注意python3的除法结果会保留1位小数,所以要使用//。

a1 = x+y
an = a1+(n-1)d
2*t = 2Sn = n*(a1+an) = n*(2*a1+(n-1)*d)ax^2+bx+c=02*a1*n+d*n^2-d*n-2*t = 0
d*n^2 + (2*a1-d)n + (-2*t) = 0a = d
b = 2*a1-d
c = -2*t
n, t = list(map(int, input().split()))
ans = 0
import math
for i in range(n):x, y, z = list(map(int, input().split()))if z == 0:count = t/(x+y)else:a = zb = 2*x+2*y-zc = -2*tcount = (-b + math.sqrt(b**2 - 4*a*c))/(2*a)count = math.floor(count)ans += y*count + count*(count-1)*z//2tmp = t - (x+y)*count - count*(count-1)*z//2 - xif tmp > 0:ans += tmpprint(ans)

牛客14392 猴子吃香蕉相关推荐

  1. 牛客 TaoTao要吃鸡(01背包)

    牛客 TaoTao要吃鸡(01背包): 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 问题描述: Ta ...

  2. 刷题记录:牛客NC15445wyh的吃鸡

    传送门:牛客 题目描述: 最近吃鸡游戏非常火,你们wyh学长也在玩这款游戏,这款游戏有一个非常重要的过程,就是要跑到安全 区内,否则就会中毒持续消耗血量,我们这个问题简化如下 假设地图为n*n的一个图 ...

  3. 猴子吃香蕉过河问题分析与扩展

    第一次接触这个题目是大学找工作时候的一次笔试,题干意思是说有一座桥长50m,桥的一端放着一堆香蕉总共100根,还有一只猴子,这只猴子想要过桥,但是每走1m就要吃一根香蕉(每移动1m要吃一根香蕉,否则饿 ...

  4. java猴子吃香蕉_Java 猴子分香蕉

    Java 蓝桥杯第九届省赛C组第二题<猴子分香蕉> 题目描述: 5只猴子是好朋友,在海边的椰子树上睡着了.这期间,有商船把一大堆香蕉忘记在沙滩上离去. 第1只猴子醒来,把香蕉均分成5堆,还 ...

  5. 牛客-taotao要吃鸡

    题目链接 Taotao的电脑带不动绝地求生,所以taotao只能去玩pc版的荒野行动了, 和绝地求生一样,游戏人物本身可以携带一定重量m的物品,装备背包 之后可以多携带h(h为0代表没有装备背包)重量 ...

  6. 【C练习之“猴子吃香蕉”】

    问题描述 5只猴子是好朋友,在海边的椰子树上睡着了.这期间,有商船把一大堆香蕉忘记在沙滩上离去. 第1只猴子醒来,把香蕉均分成5堆,还剩下1个,就吃掉并把自己的一份藏起来继续睡觉. 第2只猴子醒来,重 ...

  7. 蓝桥杯模拟测试——5个猴子分香蕉的问题;

    蓝桥杯模拟测试--5个猴子分香蕉的问题: ####这一道题呢?主要是让我们得出香蕉是如何让他们五个分开合适: 1:先看一下主要内容: ###(1)首先是总共五个猴子,他们挨个的醒来 第一个猴子醒来:5 ...

  8. 电子协会 C语言 3级 50 、猴子吃桃

    2.1基本算法之枚举 7217:猴子吃桃 OpenJudge - 7217:猴子吃桃 海滩上有一堆桃子,N 只猴子来分.第一只猴子把这堆桃子平均分为 N 份,多了一 个,这只猴子把多的一个扔入海中,拿 ...

  9. 【C语言】对猴子吃桃问题的解读

    猴子吃桃问题.一只猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个:第二天早上又将剩下的桃子吃掉一半,又多吃了一个.以后每天早上都吃了前一天剩下的一半加一个.到第n天早上想再吃时,只剩下 ...

最新文章

  1. 47.内存连续分配管理方式有哪几种?
  2. Java获取文件大小,文件夹内文件个数的工具类
  3. [Qt教程] 第30篇 XML(四)使用流读写XML
  4. 分布式版本控制系统Git的安装和使用
  5. 基于.NET下的人工智能系列专题|.NET下的人工智能系列专题|用Keras.NET 做一个图像识别的训练...
  6. 【qduoj】最长公共子串
  7. 打开黑色_垃圾桶里的黑色塑料袋,打开一看,倒吸一口气!
  8. java无ide编译_[转]无IDE时编译和运行Java
  9. ThreadLocal 初探
  10. Theano 中文文档 0.9 - 4. 要求
  11. android 获取手机信息工具类
  12. 2.ELK stack 集群 搭建
  13. 存储容量(空间)换算公式
  14. 3GPP协议R15完整版下载
  15. 变步长梯形求积公式C语言_C语言电机控制仿真之磁场定向控制和无速度传感器控制...
  16. 租服务器的 直连100m是啥,如何知道我的服务器带宽是独享10M或者100M?
  17. MATLAB GUI设计快速入门实例
  18. Python将PDF转成图片—PyMuPDF和pdf2image
  19. JS 基础知识点与高频考题解析
  20. 网页设计实验四(DIV+CSS 综合运用 )

热门文章

  1. LintCode 1690. 朋友推荐(二分插入)
  2. LeetCode 129. 求根到叶子节点数字之和(DFS)
  3. 数据结构--图 Graph
  4. opengl计算帧率_或许是迄今为止第一篇讲解 fps 计算原理的文章吧
  5. linux共享数据,使用Linux共享数据对象
  6. oracle 02085,OracleDBLink创建和维护以及ORA-02085解决办法
  7. html5支持多线程,html5 多线程
  8. 厦门大学计算机考研怎么样6,【图片】一战厦大计算机上岸,经验帖。慢更【考研吧】_百度贴吧...
  9. 论文浅尝 | 用于学习知识图谱嵌入的一种基于注意力机制的新型异构 GNN 框架HRAN...
  10. 论文浅尝 - WWW2020 | 生成多跳推理问题以改善机器阅读理解能力