用户:
我叫昵称查看:99 回复:9 评论:7 创建时间:2023-06-11T11:47:10
这是我前天一个朋友向我提的问题()
现在假如有n个带编号的灯,每个灯都是灭的。一次只能开关一盏灯。有没有什么办法可以不重复地遍历这些灯的所有排列组合方式![]()
我叫昵称我们可以想象一下,如果把它画成网格会怎么样。我们可以按灯泡亮了几个来做一个带地下室的金字塔。最底层所有灯都是灭的,一次向上,顶层所有灯都是亮的。
点赞0
评论
这样就可以保证每一层的每一个组合都和上下层的路径数量一样。
这样画出来的话会有n层。第一层和倒一层有1个、第二层和倒二层有n个、第三层和倒三层(如果有的话)有0+1+2+……+n-1个
第四层……好吧,懒得数了
我叫昵称我认为我们可以运用克隆体和角色列表,让它不断不重复地进行在列表上运算。如果所有路线中有一个是可行的,则将公有云变量增加1并重启作品。如果没有可行的方案,那作品就不会重启,我们可以用变量来显示猜想不成立。
点赞0
评论
我叫昵称但是如何让克隆体不重复经过是一个难题。我认为可以将第一个克隆体的移动路程压缩到单项储存到列表里,其它克隆体在移动过程中如果移动路径和列表中某一项重合,则退回上一步。如果走无可走,则再退回上一步。这样就是一种枚举了。
点赞0
评论