智商吧 关注:203,447贴子:1,885,720
  • 5回复贴,共1

【烧脑】高智商数学问题

只看楼主收藏回复


思考者镇楼


IP属地:天津1楼2018-04-21 17:20回复
    题目:
    有M,N两人需要进入到两个独立的房间中,系统在1-1001之间(含1和1001)随机抽取三个数字a,b,c,设定数a为Key数并告诉M,然后由M挑选一个数,之后由N挑选一个数
    条件:
    1:M,N两人都已知这三个数字是多少
    2:数字均为整数
    3:M一定不会挑选key数
    4:三个数都只能被挑选一次,即M挑选过的数字,N不能再次挑选
    5:M,N两人只能在开始之前(随机抽取数字之前)进行约定
    6:两个房间完全独立,不存在任何其他条件使N,M可以交流
    7:两人均具有强大的运算能力,不存在人类脑力限制
    问题:
    是否存在一种算法F,在M从b,c两个数字中挑选一个之后,N必定能够根据算法F得知哪一个数是key数,从而挑选a。
    只需证明是否存在即可,不需写出完整算法


    IP属地:天津2楼2018-04-21 17:20
    回复
      2026-02-18 02:41:58
      广告
      不感兴趣
      开通SVIP免广告
      第二个人可以选择比第一个个稍小的,即为key。
      若第一个选的三个数最小,则第二个选最大的。
      比如,三个数从大到小为,abc。
      若钥匙为b,则第一个人选a,若钥匙为c则选b,否则选c。
      第一个人这么操作即可


      IP属地:广东来自Android客户端3楼2018-04-21 18:22
      回复
        感觉跟1001无关啊,只要是大小不同的数字能排序就行,M和N通过顺序传递信息。


        IP属地:浙江4楼2018-04-21 20:26
        回复
          支持


          来自Android客户端5楼2018-04-21 20:35
          回复
            第一种思路:liyanan778说过了。把系统产生的三个数字按大小顺序排列两个周期(或循环),不妨假定a>b>c,排成abcabc,key是c的话M就说b,key是b的话M就说a,key是a的话M就说c。对于N而言,看到M说a就知道key是b,看到M说b就知道key是c,看到M说c就知道key是a。
            第二种思路:逆序数。MN两人先约定好数字排列顺序为key,M,剩,并且要保证该排列逆序数为偶数。比如abc=123,当key=1时M必须说2使排列成为123,当key=2时M必须说3使排列成为231,当key=3时M必须说1使排列成为312。对于N而言,当M说1时,他要考虑排列是213还是312呢,经过计算发现213是奇逆序数,312是偶逆序数,所以key为排列312的第一数3。其他两种情况也是如此。
            实际上两种看不见的思路带来的看得见的决策方法从本质上说是一回事。
            楼主说两人有强大的计算功能可能指的就是瞬间逆序数计算的能力


            IP属地:辽宁来自手机贴吧6楼2018-04-22 06:34
            回复