c# - 需要提示从哪里开始组合
问题描述
我是这个论坛的新手,希望能找到下一个假设问题的提示或答案:有 9 个盒子。三排三排。我选择一个作为开始。从那开始,我必须将它与另外三个盒子结合起来。包含的起始框总共有 4 个。组合必须是所有框都至少有一侧相互连接。所以我猜最大组合/排列搜索不起作用?然后我得到不允许的组合。只需要提示从哪里/如何开始。
解决方案
将盒子及其空间关系定义为
0 1 2
3 4 5
6 7 8
只有 9 个盒子,您将拥有9! / (5! * 4!) == 126
可能的组合。
您可以枚举它们并过滤掉无效的。
- 给定一个组合(4 个整数,每个整数一个框号)
- 如果不包含您随机选择的盒子则无效
- 如果任何成员不是任何其他成员的 +/- 1 或 +/3 则无效
推荐阅读
- java - 即使删除小数点后如何打印整数?
- html - How to include fontawesome icons inside Bootstrap forms in WordPress (with CF7)?
- pytorch - Pytorch 张量相等没有意义
- python-3.x - 有没有办法使用 python imaplib 访问共享邮箱
- javascript - 来自枚举的条件 Typescript 函数类型
- javascript - Branch.io 深层链接在我的浏览器中不起作用
- npm - npm install etherlime 失败
- javascript - 表单提交并返回页面后的操作
- rest - Powershell 脚本不等待来自 Invoke-RestMethod cmdlet 的响应
- c# - 有没有办法按顺序对 sqlite PRAGMA foreign_key_list() 查询的结果进行排序,出现查询的表中的列?