博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
系统设计之可怜的小猪
阅读量:7071 次
发布时间:2019-06-28

本文共 1462 字,大约阅读时间需要 4 分钟。

With 2 pigs, poison killing in 15 minutes, and having 60 minutes, we can find the poison in up to 25 buckets in the following way. Arrange the buckets in a 5×5 square:

1  2  3  4  5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Now use one pig to find the row (make it drink from buckets 1, 2, 3, 4, 5, wait 15 minutes, make it drink from buckets 6, 7, 8, 9, 10, wait 15 minutes, etc). Use the second pig to find the column (make it drink 1, 6, 11, 16, 21, then 2, 7, 12, 17, 22, etc).

Having 60 minutes and tests taking 15 minutes means we can run four tests. If the row pig dies in the third test, the poison is in the third row. If the column pig doesn't die at all, the poison is in the fifth column (this is why we can cover five rows/columns even though we can only run four tests).

With 3 pigs, we can similarly use a 5×5×5 cube instead of a 5×5 square and again use one pig to determine the coordinate of one dimension (one pig drinks layers from top to bottom, one drinks layers from left to right, one drinks layers from front to back). So 3 pigs can solve up to 125 buckets.

In general, we can solve up to (⌊minutesToTest / minutesToDie⌋ + 1)pigs buckets this way, so just find the smallest sufficient number of pigs for example like this:

def poorPigs(self, buckets, minutesToDie, minutesToTest): pigs = 0 while (minutesToTest / minutesToDie + 1) ** pigs < buckets: pigs += 1 return pigs

转载于:https://www.cnblogs.com/jxr041100/p/8399001.html

你可能感兴趣的文章
[导入]构筑在GPRS之上的WAP应用
查看>>
POJ 2409 Let it Bead
查看>>
javase之四种内部类
查看>>
基于FPGA的AD0832
查看>>
[HEOI2014]平衡
查看>>
[SDOI2010]古代猪文
查看>>
错误使用find_last_of函数
查看>>
6远程管理常用命令
查看>>
sql日期函数操作
查看>>
C - 青铜五 HDU - 2717 Catch That Cow BFS
查看>>
VS2013 此模板尝试加载组件程序集”NuGet.VisualStudio.interop,Version=1.0.0.0 的解决办法 ZT...
查看>>
freemarker-按格式输出文件
查看>>
JavaScript中的一些基本用法
查看>>
[翻译] 介绍EF Core
查看>>
win10中如何成功安装lxml
查看>>
Collections
查看>>
安装vs2012详细步骤
查看>>
结构体和类
查看>>
The app icon set "AppIcon" has an unassigned child告警
查看>>
Photoshop 画基本图形
查看>>