Facebook拼图(概率)

时间:2013-08-27 15:32:55

标签: facebook algorithm probability

以下是facebook之一: 我无法理解如何继续这样做。

你有C容器,B黑球和无限数量的白球。您希望以每个容器包含至少一个球的方式在容器之间分配球,并且选择白球的概率大于或等于P%。通过随机挑选一个容器然后从中随机挑选一个球来完成选择。

找到实现该目标所需的最小白球数量。

INPUT

第一行包含1< = T< = 10 - 测试用例的数量。

以下T行中的每一行包含由单个空间1 <= C <= 1000分隔的三个整数C B P. 0 <= B <= 1000; 0 <= P <= 100;

输出

对于每个测试用例输出一行包含整数 - 所需的最小数量的白球。 (测试将确保可以使用有限数量的球)

示例输入

3 
1 1 60 
2 1 60 
10 2 50 

示例输出

2 
2 
8 

说明

在第一个测试用例中,如果我们在框中放入2个白球和1个黑球,则选择白色球的概率为66.(6)%大于60%

在第二个测试用例中,将一个白色球放在一个盒子中,而将白色+黑色放在另一个盒子中,给我们0.5 * 100%+ 0.5 * 50%= 75%

对于第3个测试用例,请记住我们希望每个盒子中至少有一个球。

1 个答案:

答案 0 :(得分:0)

您可能需要执行以下操作:

初始编号白球Nw = 1。

  1. 考虑到白球的数量,Nw,找到最大可能选择白球的配置。

  2. 检查此概率是否大于P.

  3. 如果是,那么Nw就是你的答案,否则,增加Nw并转到1。

  4. 当然,挑战是在步骤1中找到最佳配置。

    编辑:问题现在归结为W白球,B黑球和C容器,找到最大可能选择白球的配置。

    P = ( w1/(w1+b1) + w2/(w2+b2) + ... + wc/(wc+bc) ) /c.
    Max(P) = Max ( w1/(w1+b1) + w2/(w2+b2) + ... + wc/(wc+bc) )
    Given: summation(wi) = W, summation(bi) = B, wi + bi >= 1
    

    我猜测配置应该是这样的,如果有N个容器有白球,那么至少N-1只有1个白球而没有黑球,最多1个容器应该有白球和黑球。只是猜一下......