2014算法合集之浅谈棋盘的分割思想.docVIP

  • 6
  • 0
  • 约8.78千字
  • 约 23页
  • 2016-12-14 发布于北京
  • 举报
棋盘中的棋盘 ——浅谈棋盘的分割思想 复旦大学附属中学 俞鑫 【摘要】【关键词】——棋盘的分割思想。 对于一个m×n的棋盘,它所含的子棋盘共有Cm×Cn个,而其分割方法更是不计其数。巧妙地对棋盘进行分割,可以解决许多种类的棋盘问题。 例一:棋盘覆盖(经典问题) 题目描述: 在一个2k×2k方格组成的棋盘中,若恰有一个方格与其他方格不同,则称该方格为一特殊方格,且称该棋盘为一特殊棋盘。显然特殊方格在棋盘上出现的位置有4k种情形。因而对任何k≥0,有4k种不同的特殊棋盘。图中的特殊棋盘是当k=2时16个特殊棋盘中的一个。 在棋盘覆盖问题中,我们要用以下4种不同形态的L型骨牌覆盖一个给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。易知,在任何一个2k×2k的棋盘覆盖中,用道的L型骨牌个数恰为(4k-1)/3。 现求一种覆盖方法。 输入:第一行为k(棋盘的尺寸),第二行为x,y (1 ≤ x,y ≤ 2k ) ,分别表示特殊方格所在行与列。 输出:共2k行,每行2k个数,分别表示覆盖该格的L型的编号(特殊格用0表示)。 样例: 输入: 2 1 2 输出: 1 0 2 2 1 1 3 2 4 3 3 5 4 4 5 5 算法分析 由棋盘尺寸为2k×2k ,我们可以想到将其分割成四个尺寸为2k-1×2k-1的子棋盘 可是,由于含特殊方格的子

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档