算发帖——俄罗斯方块覆盖问题一共有多少个解

问题的提出:如下图,用13块俄罗斯方块覆盖8*8的正方形。

254t

 

那么一共可以有多少个解呢?(若通过旋转、翻转一个解而得到的新解,则两个解视为同一个解)

 

首先,求解的问题,已经在上一篇帖子里完成

算法帖——用舞蹈链算法(Dancing Links)求解俄罗斯方块覆盖问题

 

帖子里用随机的方法求解,故每次求出的解都可能不一样

 

那么到底有多少个解呢?

 

理论上,因为是随机求解,当求解次数足够多的时候,所有的解都有可能被解出,到时候统计解出的个数就可以了

 

于是,整个2月,每天计算200000次,然后统计每天得出的新解的个数

 

列表如下:

2月01日,10373个新解

2月02日,1355个新解

2月03日,646个新解

2月04日,381个新解

2月05日,256个新解

2月06日,229个新解

2月07日,169个新解

2月08日,124个新解

2月09日,104个新解

2月10日,77个新解

2月11日,73个新解

2月12日,73个新解

2月13日,53个新解

2月14日,61个新解

2月15日,41个新解

2月16日,38个新解

2月17日,44个新解

2月18日,27个新解

2月19日,24个新解

2月20日,18个新解

2月21日,24个新解

2月22日,28个新解

2月23日,24个新解

2月24日,14个新解

2月25日,16个新解

2月26日,10个新解

2月27日,11个新解

2月28日,11个新解

2月29日,6个新解

 

一共累计29天,计算了580W次,累计获得14130个解

 

结束了么?很显然没有,因为每天还能再计算出新解,不过,新解的个数越来越少,离最终的答案不远了

根据数据的分布,估计大约还有20-30个新解,那就预估这个问题的最终答案是14160个解

 

还会继续计算么?还会的,看看最终能有多少个解

posted @   万仓一黍  阅读(1167)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
点击右上角即可分享
微信分享提示