摘要: 积木,小时候大家应该都玩过吧,一些简单的积木堆积起来就能组成各种新奇好玩的形状,但不知你有没尝试过用多种组合方法堆成相同的形状。这里,我们就有这样一个谜题,给出9*9方格,用1*2 的积木和L形(2*2 的去掉一个角)的积木填充,求填充满9*9方格的不重复方案数。解法一这样的问题到手,初看似乎没有一点头绪,是用数学的方法的推导?当然,这个是可以有,但推导过程也是艰辛无比。在这,要提一下动态规划的好处,它能归纳出状态转移公式,再根据公式,利用计算机高速的计算能力来帮我们推算出最后的结果。首先,我们先来解决状态的表示问题。可以用二进制来表示积木的形状。图1 所有形状的积木积木总类不多,所有形状也就 阅读全文
posted @ 2012-10-08 11:23 有深度的程序员面试题 阅读(2067) 评论(1) 推荐(1) 编辑