第九届蓝桥杯【C/C++省赛B组】【第四题:测试次数】

3人阅读 评论(0) 收藏 举报
分类:

题目:

x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。

各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。

x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。

如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。
特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。

如果到了塔的最高层第n层扔没摔坏,则耐摔指数=n

为了减少测试次数,从每个厂家抽样3部手机参加测试。

某次测试的塔高为1000层,如果我们总是采用最佳策略,在最坏的运气下最多需要测试多少次才能确定手机的耐摔指数呢?

请填写这个最多测试次数。

答案:19

解题思路:

本来还想直接用二分法先交个答案算了,二分法求出的答案是log2(1000)=10,显然是错误的,因为二分法的话直接取中间的数,最坏的情况下你摔3次,3个手机就都爆了,你还怎么测。这道题其实是需要用动态规划或者记忆化搜索去解的,dp[x][y]表示当前还剩x楼不确定,还有y部手机没爆

动态规划或者记忆化搜索       dp[L][R][x]表示已经知道了手机从L楼丢下去摔不爆,从R楼丢下去一定摔爆,当前还剩x部手机,最多需要多少步       答案就是dp[0][1000][3]

代码:

查看评论

C/C++单元测试培训

-
  • 1970年01月01日 08:00

2018第九届蓝桥杯省赛c++B组 测试次数

x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。 各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。 ...
  • clx55555
  • clx55555
  • 2018-04-08 18:13:47
  • 453

2018年4月1日省赛第九届蓝桥杯真题C/C++(B组)

  • 2018年04月01日 15:48
  • 26KB
  • 下载

2018第九届蓝桥杯省赛真题 C语言B组 第四题 测试数据

标题:测试次数 x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。 各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后...
  • ffgcc
  • ffgcc
  • 2018-04-05 10:45:03
  • 112

20180401第九届蓝桥杯省赛B组真题-1第几天

标题:第几天2000年的1月1日,是那一年的第1天。那么,2000年的5月4日,是那一年的第几天?注意:需要提交的是一个整数,不要填写任何多余内容。手算都可以,这里直接粘贴2013年 高斯日记那道题了...
  • lady_killer9
  • lady_killer9
  • 2018-04-01 16:35:40
  • 1590

2018年第九届蓝桥杯【C++省赛B组】【题目汇总】

2018年第九届蓝桥杯【C++省赛B组】【题目汇总】 第一题:第几天 第二题:明码 第三题:乘积尾零 第四题:测试次数 第五题:快速排序 第...
  • qq_34202873
  • qq_34202873
  • 2018-04-02 09:36:59
  • 2548

2018年第九届蓝桥杯【C++省赛B组】【第四题:测试次数】

2018年第九届蓝桥杯题目汇总 https://blog.csdn.net/qq_34202873/article/details/79784728 第四题 标题:测试次数 x...
  • qq_34202873
  • qq_34202873
  • 2018-04-02 09:25:16
  • 1470

2018省赛第九届蓝桥杯真题C语言B第四题题解 测试次数

2018第九届蓝桥杯C++省赛B组[最新题解汇总]标题:测试次数x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经...
  • nka_kun
  • nka_kun
  • 2018-04-02 15:03:54
  • 573

2018年4月1日蓝桥杯省赛第九届蓝桥杯真题C/C++(A组)

  • 2018年04月02日 14:31
  • 29KB
  • 下载

2018 蓝桥杯 省赛 B组 原题 C语言B组 第3题 第九届蓝桥杯真题 +答案+解析

标题:乘积尾零如下的10行数据,每行有10个整数,请你求出它们的乘积的末尾有多少个零?5650 4542 3554 473 946 4114 3871 9073 90 4329 2758 7949 6...
  • feifancaicai
  • feifancaicai
  • 2018-04-01 19:10:13
  • 874
    个人资料
    持之以恒
    等级:
    访问量: 1万+
    积分: 1396
    排名: 3万+