4评论
-
拉扎尔·伊利奇 : 首先要注意的是,有24个可能的起始位置,只有3个查询可以区分最多~3^3=27个[~由于在交替硬币状态切换标准上可能方便合并],因此我们需要稍微小心。 将硬币编号为#0、#1、#2和#3,称为0或1,其中状态2表示重量为0的交替硬币(如果现在放在秤上),状态3表示重量为1的交替硬币。 然后,我们有以下算法来解析手动操作自动Python代码生成的最终状态(通常是完整的,而不仅仅是识别交替硬币): 用#1称#0,用#3称#2: 如果#0带有#1>#2带有#3: 将#2与#3进行称重: 如果#2>#3: 将#0与#1进行权衡: 如果#0>#1: 已解决[[1,3,1,0]] Elif#0==#1: 已解决[[1,1,2,0]] 其他: 已解决[[3,1,1,0]] Elif#2==#3: 将#0与#2进行权衡: 如果#0>#2: 已解决[[1,1,0,3]] 其他: 已解决[[1,1,2,0]] 其他: 将#0与#1进行权衡: 如果#0>#1: 已解决[[1,3,0,1]] Elif#0==#1: 已解决[[1,1,0,2]] 其他: 已解决[[3,1,0,1]] Elif#0 with#1==#2 with#3(Elif#1==#2 with:#3) 用#1称#0,用#3称#2: 如果#0带有#1>#2带有#3: 将#0与#1进行权衡: 如果#0>#1: 已解[[1,3,0,1],[1,3,1,0]] 其他: 已解[[3,1,0,1],[3,1,1,0]] 其他: 将#2与#3进行称重: 如果#2>#3: 已解[[0,1,1,3],[1,0,1,3]] 其他: 已解[[0,1,3,1],[1,0,3,2] 其他: 将#0与#1进行权衡: 如果#0>#1: 将#0与#2进行权衡: 如果#0>#2: 已解决[[1,0,3,1]] Elif#0==#2: 已解决[[1,0,1,2]] 其他: 已解决[[3,0,1,1]] Elif#0==#1: 将#0与#1进行权衡: 如果#0>#1: 已解决[[2,0,1,1]] 其他: 已解决[[0,2,1,1]] 其他: 将#1与#2进行称重: 如果#1>#2: 已解决[[0,1,3,1]] Elif#1==#2: 已解决[[0,1,1,2]] 其他: 已解决[[0,3,1,1]] ———- 导入副本 平均值=[] 对于范围(0,4)内的a: 对于范围(0,4)内的b: 对于范围(2,4)内的c: 如果a= b: av=[1表示范围(4)中的d] av[a]=0 av[b]=c avv.附加(av) avv=[0,2,1,1],[0,1,2,1] 对于范围(0,4)内的a: 对于范围(a+1,4)内的b: bvv=[]#> cvv=[]#= dvv=[]#花花公子[0]%2+花花公仔[1]%2+花花公子[2]%2+花样公子[3]%2: dudec=副本.depcopy(dude) 对于范围(4)中的d: 如果dudec[d]>=2: dudec[d]=5-dudec[d] bvv.附加(dudec) elif 2*(dude[a]%2+dude[b]%2)==dude[0]%2+dude[1]%2+duder[2]%2+dude[3]%2: dudec=副本.depcopy(dude) 对于范围(4)中的d: 如果dudec[d]>=2: dudec[d]=5-dudec[d] cvv.附加(dudec) 其他: dudec=复制.deepcopy(dude) 对于范围(4)中的d: 如果dudec[d]>=2: dudec[d]=5-dudec[d] dvv.附加(dudec) 打印(len(bvv)、len(cvv)和len(dvv)) 如果1: 打印(bvv)#[[2,1,0,1],[1,2,0,2],[1],1,0,3],[1,1,0,2],[2],1,1,0],[1,2,1,0],[1],1,3,0] 打印(cvv)#[[0,1,3,1],[0,1,1,3],[1,0,3] 打印(dvv)#[[0,3,1,1],[0,2,1,2],[0 对于范围(0,4)内的a: 对于范围(a+1,4)中的b: bvv=[]#> cvv=[]#= dvv=[]#花花公子[b]%2: dudec=副本.depcopy(dude) 如果dudec[a]>=2: dudec[a]=5-dudec[a] elif dudec[b]>=2: dudec[b]=5-dudec[b] bvv.附加(dudec) elif dude[a]%2==dude[b]%2: dudec=副本.depcopy(dude) 如果dudec[a]>=2: dudec[a]=5-dudec[a] elif dudec[b]>=2: dudec[b]=5-dudec[b] cvv.附加(dudec) 其他: dudec=副本.depcopy(dude) 如果dudec[a]>=2: dudec[a]=5-dudec[a] elif dudec[b]>=2: dudec[b]=5-dudec[b] dvv.附加(dudec) #打印(len(bvv)、len(cvv)和len(dvv)) 打印(a,b) 打印(bvv)# 打印(cvv)# 打印(dvv)# 如果len(bvv)<=3,len(cvv)<=3,且len(dvv)小于=3: 打印(a,b) 打印(bvv)#[[2,1,1,0],[1,2,1,0],[1],1,2,0]] 打印(cvv)#[[1,1,0,3],[1,1,3,0]] 打印(dvv)#[[2,1,0,1],[1,2,0,1] 2024年6月25日,下午7:42 -
萨南丹·斯瓦米纳坦 : 有趣的谜题。 这里有一种方法可以确定交流发电机硬币,以及下次我们决定使用它时它是处于重状态还是轻状态。 通过回溯,我们还知道了开始称重之前交流发电机的状态。 设H=重(真)币,L=轻(假)币,Ah=重态交流发电机,Al=轻态交流发电机。 我们不知道交流发电机最初是处于Ah状态还是Al状态,所有硬币看起来都一样。 第一次称重:在每个平底锅里放两个硬币。 如果平底锅保持平衡,则第一次称重涉及以下可能性之一: H、 L对H,Al H、 L对Al,H 五十、 H对H,Al 五十、 H与Al,H H、 Al与H、L Al、H与H、L H、 铝对L、H 铝、氢与L、氢 第二次称量:如果第一次称量时盘子保持平衡,只需重复第一次称重(不移动任何硬币)。 上述第一次称重的可能性将在第二次称重中转换为: H、 L对H,啊 H、 L与Ah、H的对比 五十、 H对H,啊 五十、 H对Ah,H H、 Ah与H、L 啊,H对H,L H、 Ah与L、H 啊,H对L,H 在上面的前4种情况下,右锅会更重。 在最后4种情况下,左侧盘会更重。 交流发电机在较重的盘中,如果我们再次使用它,它将很轻。 在第三次称重时,将第二次称重时较重的盘中的两枚硬币进行对比,例如上述第一种情况中的H与Al(第二次称量时为Ah)。 交流发电机是第三次称重时较轻盘上的硬币,我们下次使用时它将处于较重状态。 另一方面,考虑第一次称重显示不平衡的情况。 WLOG,假设左侧底盘较重。 这意味着第一次称重涉及以下可能性之一: H、 H对L,啊 H、 H对L,Al H、 H对Ah,L H、 H对Al,L H、 Ah与H、L H、 Ah与L、H 啊,H对H,L 啊,H对L,H 对于第二次称重,将第一次称重的打火机盘上的两枚硬币相互比较,例如在上述第一种情况下,L与Al(第一次称重时为Ah)。 与上述情况相对应,第二次称重具有以下可能性: L=铝 L L(左) 高度>高度 L L(左) 长<高 如果第二次称重显示相等,则必须涉及上述L=Al或Al=L。 在这种情况下,对于第三次称重,只需重复第二次称重。 因此,我们现在将比较L与Ah,或Ah与L。较重的锅中装有交流发电机,在我们下次使用时,它将处于轻状态。 如果第二次称重显示不平衡,那么对于第三次称重,将第一次称重时放在较重盘子上的硬币相互比较。 如果第三次称重显示相等,这意味着我们只对H和H进行了称重。在这种情况下,交流发电机是第二次称重时放在较重的平底锅上的硬币,下次我们使用它时,它将处于轻状态。 另一方面,如果第三次称重显示不平衡,我们只比较了H与Al或Al与H(第一次称重时,较重的锅上的Al是Ah)。 交流发电机是第三次称重时较轻盘上的硬币,我们下次使用它时,它将处于较重状态。 2024年6月25日,11:10 pm -
萨南丹·斯瓦米纳坦 : 看起来我上面的一个段落格式不正确,可能是因为“小于”和“大于”符号。 我用文字而不是符号粘贴下面的段落: 对于第二次称重,将第一次称重的打火机盘上的两枚硬币相互比较,例如在上述第一种情况下,L与Al(第一次称重时为Ah)。 第二次称重将具有与上述情况相对应的以下可能性: L等于Al L小于Ah Al等于L Ah大于L H大于L L小于H H大于L L小于H 2024年6月25日,晚上11:26 -
萨南丹·斯瓦米纳坦 : 这次格式正确(请忽略之前由于使用符号而格式错误的帖子)… 这里有一种方法可以确定交流发电机硬币,以及下次我们决定使用它时它是处于重状态还是轻状态。 通过回溯,我们还知道了开始称重之前交流发电机的状态。 设H=重(真)币,L=轻(假)币,Ah=重态交流发电机,Al=轻态交流发电机。 我们不知道交流发电机最初是处于Ah状态还是Al状态,所有硬币看起来都一样。 第一次称重:在每个平底锅里放两个硬币。 如果平底锅保持平衡,则第一次称重涉及以下可能性之一: H、 L对H,Al H、 L对Al,H 五十、 H对H,Al 五十、 H对Al,H H、 Al与H、L的对比 Al、H与H、L H、 铝对L、H 铝、氢与L、氢 第二次称量:如果第一次称量时盘子保持平衡,只需重复第一次称重(不移动任何硬币)。 上述第一次称重的可能性将在第二次称重中转换为: H、 L对H,啊 H、 L与Ah、H的对比 五十、 H对H,啊 五十、 H对Ah,H H、 Ah与H、L 啊,H对H,L H、 Ah与L、H 啊,H对L,H 在上面的前4种情况下,右锅会更重。 在最后4种情况下,左侧盘会更重。 交流发电机在较重的盘中,如果我们再次使用它,它将很轻。 在第三次称重时,将第二次称重时较重的盘中的两枚硬币进行对比,例如上述第一种情况中的H与Al(第二次称量时为Ah)。 交流发电机是第三次称重时较轻盘上的硬币,我们下次使用时它将处于较重状态。 另一方面,考虑第一次称重显示不平衡的情况。 WLOG,假设左锅较重。 这意味着第一次称重涉及以下可能性之一: H、 H对L,啊 H、 H对L,Al H、 H对Ah,L H、 H对Al,L H、 Ah对H,L H、 Ah对L,H 啊,H对H,L 啊,H对L,H 对于第二次称重,将第一次称重的打火机盘上的两枚硬币相互比较,例如在上述第一种情况下,L与Al(第一次称重时为Ah)。 第二次称重将具有与上述情况相对应的以下可能性: L等于Al L小于Ah Al等于L Ah大于L H大于L L小于H H大于L L小于H 如果第二次称重显示相等,则必须涉及上述“L等于Al”或“Al等于L”。 在这种情况下,对于第三次称重,只需重复第二次称重。 因此,我们现在将比较L与Ah,或Ah与L。较重的锅中装有交流发电机,在我们下次使用时,它将处于轻状态。 如果第二次称重显示不平衡,那么对于第三次称重,将第一次称重时放在较重盘子上的硬币相互比较。 如果第三次称重显示相等,这意味着我们只对H和H进行了称重。在这种情况下,交流发电机是第二次称重时放在较重的平底锅上的硬币,下次我们使用它时,它将处于轻状态。 另一方面,如果第三次称重显示不平衡,我们只比较了H与Al或Al与H(第一次称重时,较重的锅上的Al是Ah)。 交流发电机是第三次称重时较轻盘上的硬币,我们下次使用它时,它将处于较重状态。 2024年6月25日,11:33 pm