rabbits 发布于六月 22, 2020 分享 发布于六月 22, 2020 (已修改) 情景:你在一个陌生的密室中醒来,发现自己身上绑着一枚定时💣,💣上连着一个三位数的电子锁,每位数字都可以从0选到9。此时墙角的一个不起眼的广播发出了声音。 “您好啊受试者,我知道您一定很想知道我是谁或者我的目的是什么之类的无聊透顶的问题。但是在这之前,您最好先关心一下您脖子上那颗30分钟之后就会自动爆炸的💣。而唯一能将您从中解救出来便是您所看到的那把电子锁了。下面是关于这把锁的两项要素。 ①您只有在输入所有的三位数字后才能按确认来查看密码是否正确 ②当您输入的密码中有至少一位数字与正确密码的对应位数相同后,按下确认电子锁就会发出bb的响声 当您输入正确的密码并按下确认后,💣会自动解除,然后再输入两位数的大门的密码就能通过测试了。什么?大门密码是多少?很简单,您能保证解开💣上电子锁所需的最少确认次数就是大门密码了,当然了您只有一次输入确认大门密码的机会,一次错误后大门会永久锁死。注意哦,是一定能解开电子锁所需最少确认次数,也就是您认为的最好的解除电子锁的方法中最坏的情况所需的确认次数,别忘了计算出密码后还要在输入正确密码一次哦。 好了,您需要知道就这些,祝您好运。” 那么请问大门的两位数密码是多少 六月 23, 2020,由rabbits修改 注释 fireball2236 1.00节操 门锁密码应该是13 链接到点评
rabbits 发布于六月 23, 2020 作者 分享 发布于六月 23, 2020 7 小时前, 乱跑的泰兰德 说道: 所有锁从000开始计数,以111,222依次向上查找。 假设用了x次第一次响。(x) 那么最坏情况查找三次,找到一位正确的数字。(x+3) 之后从xxx继续向上查找,假设用了y次第二次响。(x+3+y) 那么最后用了两次检验,找到了正确的一个数字。(x+3+y+2) 之后把剩下一位数的查询z次。最坏情况即为x+y+z=10 - 1。(x+3+y+2+z) 所以大门答案我猜测应该是 9 + 5 = 14? 正确答案 链接到点评
rabbits 发布于六月 23, 2020 作者 分享 发布于六月 23, 2020 7 小时前, Girafarig 说道: 这就又是一个出题人的问题了……不知道输入密码本身算不算在确认次数里 最坏的情况就是排除了所有其他可能后最后才输入密码,是算上这一次的 rabbits目睹该饮使用黑魔法和萌懒签订契约使其成为了妹妹,得到3节操并碎了一地 链接到点评
rabbits 发布于六月 23, 2020 作者 分享 发布于六月 23, 2020 7 小时前, 沫白的神座 说道: 所以再假设数字是289这样的,那么在888的时候已经是9(x+y)+3了,还需要花两步来确认8的位置,最后一步是9,那么总共是15步啊,淦哦,版聊这样好不方便,越算越乱 16次是指的位置不对也会响, 反正这个问题答案很多,出题人全责,题目不写清楚(恼 @rabbits 啊这,我以为我说的很清楚了,还特意强调了对应位数 链接到点评
rabbits 发布于六月 23, 2020 作者 分享 发布于六月 23, 2020 6 小时前, 哈哈哈2333 说道: 盲猜13次,0到9 10次加上3个数字轮转 还有输入正确密码一次哦 链接到点评
rabbits 发布于六月 23, 2020 作者 分享 发布于六月 23, 2020 7 小时前, Girafarig 说道: 重新思考了下这个问题,如果“数位”上“数字”正确才会响的话,最多应该需要至少14步: 情况1 000,111~999总共10步,确认得数字abc(数字不相同) 输入abc,得反馈A(电子锁响,但炸弹没有解除)或反馈B(电子锁未响) A为,abc中有一个数位正确,需要至多尝试 acb, cba, bac 三种情况,共计10+1+3=14步 B为,abc数位均不正确,需要之多尝试 bca, cab 两种情况, 共计10+1+2=13步; 情况2 假如 000,111~999 过程中,只有两个数字ab 则只需确认至多 aab, aba, baa 三种情况,因为 ab 是在各自数位上是互补的,最终密码在aab, aba, baa 三种情况之中,或者为 aab, aba, baa 中唯一电子锁没有响的互补数字(如baa 对应 abb)总计需要10+3+1=14步 差不多就这样 正确 链接到点评
rabbits 发布于六月 23, 2020 作者 分享 发布于六月 23, 2020 1 分钟前, Κris 说道: 反正大门密码只有两位数,三十分钟穷举完很轻松,出去之后找个剪刀把锁剪了就完事了(偷鸡小王子) 行吧,我的设计漏洞,改一下 链接到点评
rabbits 发布于六月 23, 2020 作者 分享 发布于六月 23, 2020 (已修改) 4 小时前, 雪月夜 说道: 首先测试密码012...123...456...901共10次 (每个数在每个位数仅出现一次) 即存在3个组合abc,def,ghi,命名为A、B、C A、B、C至多代表9个数字,剩下一个无关数字命名为X (A、B、C所处的位置决定了它所代表的的值) 初始状态:输入密码ABX,若无反应,则进入情况1,若有反应,则进入情况2 情况1:输入密码BCA,若无反应,则进入情况1-1,若有反应,则进入情况1-2,若开锁,则进入情况1-3 情况1-1:1不为A,2不为B;1不为B,2不为C,3不为A 综合可知,密码为CAB 情况1-2:1不为A,2不为B,密码不为BCA,可能存在1→B/2→C/3→A 假设1为B,由于密码不为BCA,则密码为BAC 假设2为C,1不为A,且1不为C可推出密码为BCA,矛盾 假设3为A,2不为A,且2不为B可推出密码为BCA,矛盾 可知密码为BAC 情况1-3:密码为BCA 情况2:输入密码ACB,若无反应,则进入情况2-1,若有反应,则进入情况2-2,若开锁,则进入情况2-3 情况2-1:可能存在1→A/2→B,密码不为ACB,1不为A,2不为C,3不为B 综合可知,2为B,密码为CBA 情况2-2:可能存在1→A/2→B,密码不为ACB,可能存在1→A/2→C/3→B 假设1为A,由于密码不为ACB,则密码为ABC 假设2为B,且1→A/2→C/3→B至少存在一项,可知1为A,推出密码为ABC 假设2为C,由1→A/2→B中至少存在一项,可知1为A,推出密码为ACB,矛盾 假设3为B,由1→A/2→B中至少存在一项,可知1为A,推出密码为ACB,矛盾 可知密码为ABC 情况2-3,密码为ACB 共需要输入密码10+2次 特殊情况:只存在两个数组发出响声 输入密码会获得3种反馈:1、无反应 2、发出响声 3、开锁 当输入两次密码时,应该存在反馈情况1-1,1-2,1-3,2-1,2-2,2-3,3共7次反馈 由A、B组成的三位数共AAB,ABA,BAA,BAB,BBA,ABB共6种组合 即当前7次反馈中,需要组成(1)+(2+3)的反馈或者(3+3)的反馈(括号内是同一层次的输入反馈) 当输入形式为AXX时,会导致一位的确定,在进行下一步时,由于事先知道一位的值,输入密码的反馈1、3会不共存,此时反馈仅为(2+2),不成立 当输入形式为ABX(AAX)时,会确定2位的数值,在进行下一步时,会分为BAX(BBX)组和其余组,BAX(BBX)组中,只存在两种组合,反馈最多为(2+3),不成立 当输入形式为AAB时,已经确定了AAB和BBA的值,在进行下一步时,仅剩3种反馈,即反馈最多为(1+1)+(3),不成立 综上,当只存在两个数组时,需要至少输入三次密码(比如AXX,XAX,XXA) 共需要输入密码10+3次 综上所述,大门的密码为13 写的挺认真的,说几个问题哈 首先是问题被复杂化了。使用012,123的方法创造排列和000,111的方法创造组合的核心思想是一样的,也就是说确认密码的最大步数都应该是13(讨论最小步数是没有意义的,因为不管什么方法都可以在输入第一次的时候直接蒙对)。 其次是题目暗含了确认密码后再输入密码的一次,所以正确答案是14次。 你的思路在只响两声的情况下是对的,但是三声的情况可能出了点问题,核心思路是从三声的数组中选出数字排列排除错误可能,这个是没问题的。但是只输入两次就能得出正确答案是不可能的,三声响的比如123、456、789,那么A一定是147中的一个,BC同理,一共有6种可能。相当于去解三个三元一次方程,只测两次是确定不了的,因为两次响与不响和开锁组合起来虽然有7种组合,但实际不可能使这7种情况全部出现。你可以试一下在3x3的格子里每行涂黑一个不同位置的格子,看看能不能只通过两次筛选就能将涂格子的6种可能变成一种。 六月 23, 2020,由rabbits修改 链接到点评
rabbits 发布于六月 23, 2020 作者 分享 发布于六月 23, 2020 5 分钟前, ZETA 说道: 应该是13(不计输入正确密码的一次)或14(输入正确密码的一次也计算在内) 依次从000,111输入到999,只有三种情况:(以下讨论不计输入正确密码的一次) 一:电子锁只响了1次,也就是那一次输入的是正确密码,运气最差时前9次都是错的,需要共计9次尝试; 二:电子锁响了2次,运气最差时第二次在999才响,不妨设第一次是888时响的。 那么在输入888后,只响过一次,还不是正确密码,说明999肯定还会响,所以999就不用输了,到这是000-888共9次尝试。 由888和999会响知正确密码只含8和9两个数字,有899、989、998、988、898、889六种情况, 每次尝试只有响和不响两种情况,所以区分6种情况用2分法运气最差时要3次尝试,加起来总共需要3+9=12次尝试。 三:电子锁响3次,必须000-999输入10次尝试才能确定,不妨设777、888、999三次响的,那密码就只有789、798、879、897、978、987六种情况。 同样用2分法运气最差需要3次尝试,加起来共10+3=13次尝试。 综合3种情况,运气最差时,需要13次尝试(不计输入正确密码的那次) 我还特地用红字标注了加上输入密码的一次,不管怎么说,是正确答案 链接到点评
rabbits 发布于六月 24, 2020 作者 分享 发布于六月 24, 2020 7 小时前, 雪月夜 说道: 012和000的排列确实是一样的(当时短路以为这样可以避免只响两次的情况) 至于响三次的情况,我重新试了下。。应该是没问题的,2次就可以确定 行吧,我不是特别理解你的排除方式。你能举个例子吗,假如是123,456,789响了。那么它有下面6种情况,黑点代表了正确密码对应的位置,第一个图表示了123,456,789的位置,其他5附图我省略了。请按照你的方法只用两次就能排除掉其他5种情况选出正确的情况。 链接到点评
rabbits 发布于六月 24, 2020 作者 分享 发布于六月 24, 2020 11 分钟前, 雪月夜 说道: 其实是我脑子短路了才想出的012这种排序。。。实际上和000是一样的(所以之后用000来举例,容易理解些) 可以直接把我那张图当做000、111、222来处理 A=0,B=1,C=2 前面那个表格 ×代表排除的值,√代表确认的值,当值确定后,将对应位置填上√,同行、列填上×,逐一排除 做了张简单的流程图(我的同学朋友们已经习惯我的表达不清了) 这下就清楚很多了,确实可以两次就确定出来 链接到点评
推荐贴