dep表示看从0-m-1位能否铺砖,dep就表示第dep位,所以搜到第m位表示现在这一层已经铺满了
now表示现在这一层的状态,next表示下一层的状态
now & (1 << dep) 字面意思是now的第dep位是不是1(dep为0到m-1),如果是1,就表示不能放砖了,当然就转到dep+1层
在dep位竖直铺砖,则now和next的dep位都要铺砖,所以他们的dep位都要变成1
最后的if判断的是如果now的第dep位为0,想要横着铺,那么第dep+1也要为0才能横着放
首先f[i,j]这个状态必需有效,如果是无法达到的状态(即=0),搜索是没有意义的。dfs(0,j,0)的意思是搜索第0位,当前状态为j,下一层的状态暂时为0(还没开始铺)
[
本帖最后由 czz5242199 于 2011-11-16 21:57 编辑 ]