棋盘覆盖算法(经典算法问题) 经典算法问题:在一个2k×2k(k≥0)个方格组成的棋盘中,恰有一个方格与其他方格不同,称该方格为特殊方格。显然,特殊方格在棋盘中可能出现的位置有4k种,因而有4k种不同的棋盘,下图(1)所示是k=2时16种棋盘中的一个。棋盘覆盖问题(chesscoverproblem)要求用图(2)所示的4种不同形状的L型骨牌覆盖给定棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。 图(1) 图(2) 如何应用分治法求解棋盘覆盖问题呢? 分治的技巧在于如何划分棋盘,使划分后的子棋盘的大小相同,并且每个子棋盘均包含一个特殊方格,从而将原问题分解为规模较小的棋盘...