端脑吧 关注:37,708贴子:687,662

回复:【终极头脑风暴】——【神之裁员】——你能闯入第几层?

只看楼主收藏回复

完全看不懂,好高端〒_〒


来自Android客户端162楼2015-02-22 21:55
回复
    这帖子还没终结么 =_=||
    999不能保证。
    论证如下:
    1.由于无人提示,最后一名员工(以下简称A)必然是牺牲者。
    2.A可以根据前面999人推知剩下的两数(记为a、b),但不知哪个对应自己或老板。此时A有两种选择:报出其中一个数,或者通过处理(例如报两数和减1001)告知两数。以下分类讨论。
    ①告知两数。这里要明确,第一人如果只报出两数中一个,是无法达成同时告知另一数的效果的。因而告知两数必然要报出1001个数中第三个数x。被第一人报到的数x(持有此数的人记为X)由于不可重复报作废。此时直到X之前,所有人可根据身后人所报的数、身前人的数与506*1001作减法准确得知自己的数。而X知道但不能报出自己的数,此时他已被淘汰,999不可达成。只好报第一人报出的两数中任一数,牺牲自己,告知大家自己的数x就是A报的,让信息传递得以继续,完成998。
    ②报出一数(不妨设为a)。这里明确一点,第二人起每个人所报的数由于只能是自己脑门上的“随机”数,因而只起排除作用,再无其他信息可以传递。所以今后b无法被告知,每个人要面临的局面都是:自己推出的两数哪个是b?显然无法达成999。
    3.综上,999不可达成。
    谁来告诉我我哪儿错了?


    IP属地:浙江来自手机贴吧164楼2015-05-02 13:47
    收起回复
      没人说最后一人报自己与老板两人数字之和么,


      来自手机贴吧167楼2015-05-03 17:14
      回复
        从人性的角度上考虑,本题无解,因为没有愿意牺牲掉自己


        IP属地:安徽来自Android客户端168楼2015-05-03 21:32
        回复
          之前题目没看明白,一个可行方案就是用老板看不到的方式暗示,如用不同音调报数,提示前一个人,如果前一人的数在已知三个数中最大则用高音(声音尖细),最小则用低音(声音粗),中间则正常发音,第一人当看运气,运气好,裁不到人,差了就裁一人。不同的方式可事先练习下


          来自手机贴吧169楼2015-05-04 06:39
          回复
            牺牲最后一个,报未知两数和,若大于1001则减去1001再报。前一个就可以根据和不变性知道自己的数,所以保留999人


            来自手机贴吧170楼2015-05-04 16:43
            回复
              能保全999人
              设自己(末尾一人)数x 老板数y
              1,自己与老板数和x+y可以得到当x+y小于等于1001 就报两数之和 那么自己前面的那个人就可以通过1~1001的和减掉x+y+前面人数之和 得到自己数 再往前的人同理
              2,当x+y大于等于1002时,
              就报x+y-1001这个数
              至于第999人如何确定情况1,还是2,只要用两种算法分别算出结果 如果与之前人的号码没有重复 那这个数就是自己的号码人即算法一;若是有重复了 即算法二,自己的数是 1~1001的和+1001-(x+y)
              这样的话牺牲一人 剩下都没问题


              来自Android客户端171楼2015-05-04 20:33
              回复
                楼主牛逼


                IP属地:上海来自iPhone客户端172楼2015-05-13 08:57
                回复
                  今天看见楼主拿着桃木剑对着几个坟包摇铃铛大声说到:睡你麻痹,起来嗨。我瞬间感觉他活不过今晚了


                  IP属地:山东来自Android客户端173楼2015-05-13 13:03
                  回复
                    呵呵,如此简单一题,我来解决,第一个人可看到999个人的数,故所猜之数必为自己的数或老板的数若为老板之数,则其他999人知道自己背上的数,若为自己之数则再猜,故999人得救


                    IP属地:福建来自Android客户端174楼2015-08-04 21:59
                    回复
                      这个和夏驰第三关试练好像


                      来自Android客户端175楼2015-09-15 08:47
                      回复
                        我的方法不会有任何一个人确切知道自己是几号,通过值按期望值算的。首先将1000人分成x组,每组随便报一个数字,全部报一样的数字,由这组第一人报,后面人跟着报,如果第一人报对了,后面人改数,直到下一组,这样算期望值的话就是,(1000/x)/(1000/x+1)+(1000/x)/(2000/x+1)+...+(1000/x)/1001画出函数图,取结果最大的x值整数,然后确定方案。估算了一下,大于三人留下没问题,但是再提高我做不到


                        来自Android客户端176楼2016-12-12 20:54
                        收起回复
                          999是不可能达到的,第一个人因为报信,所以不可能说对,而他所说的数字,本身那个人也不可能说对,所以至少两个人被裁,虽然我还没想到一号报信的方法


                          来自Android客户端177楼2016-12-12 21:06
                          回复
                            最后一个人报前面所有人的数字之和的最后三位数就行了,倒数第二人可以把此数减前面人的数保留三位得到答案,完了后面类推。


                            IP属地:浙江178楼2016-12-17 01:38
                            回复
                              想了好久(看答案之后)。才明白,其实这个问题的答案可以简化成一个对排列组合的排列顺序的问题。
                              即在假设的一个数字排列条件下,自己的数字和排列中最后一个数字(老板手里的数字)的大小关系。
                              首先,将老板手里的数字加入到数列末尾(最后一人之后)使所有数字形成一个由1001个数字组成的数列。
                              之后,最后一人在已知前面所有数字的排列顺序情况下,假定自己和老板的数字的大小顺序,并说出使这个数列顺序得以完成的那个数字。
                              至此,一个由最后一人假定的完整的数列已经被确定下来。这个数列中,每两个数字之间的大小关系都是确定的。而这个大小的规律就是“牛逼度”的奇偶性。
                              故此,只要事先约定好这个数列的“牛逼度”的奇偶性,那么,最后一人按照这个约定说出相对应的使数列“牛逼度”奇偶性得以成立的数字,完成完整数列。
                              回到最初的问题。由于在假定的排列中,最后一人已经说出自己假定的这一个数字,那么,从倒数第二个人开始,每一个人所要做的,就是比较剩下的两个数字的大小,分别对应自己的位置和老板的位置,使数列的规律得以成立。
                              由于只有一对不确定数,因此,一旦规律成立,那么就说明此时的数列就是最后一人假定的数列。而这个数列中,最后一人之前所有的数字,都是最后一人看到的,是绝对正确的,所以,对应的人,说出的数字一定是这个人对应的数字,不会有问题。
                              此时,除了最后一人因为假定时的二选一会50%错误之外,其余的人都会说对自己的数字。


                              来自iPhone客户端179楼2017-01-11 01:28
                              收起回复