C++课题设计报告(残缺棋阵).doc

  1. 1、本文档共15页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C课题设计报告(残缺棋阵)

********大学 暑假课题设计说明书 题 目:残缺棋阵覆盖问题 学生姓名: 学 号: 专 业: 班 级: 指导教师: 2013 年 7 月 31日 残缺棋阵覆盖问题 摘 要 关键词:目 录 I I 9 1 3 4 4 附录(程序清单) 33 第一章 问题描述 问题描述: 残缺棋盘是一个有2^k×2^k(k≥1)个方格的棋盘,其中恰有一个方格残缺。如图给出k=1时各种可能的残缺棋盘,其中残缺的方格用阴影表示。残缺棋盘问题就是要用这四种三格板覆盖更大的残缺棋盘。在此覆盖中要求:1)两个三格板不能重叠2)三格板不能覆盖残缺方格,但必须覆盖其他所有的方格。2^k×2^k -1)/3。可以验证(2^k×2^k -1)/3是一个整数。k为0的残缺棋盘很容易被覆盖,因为它没有非残缺的方格,用于覆盖的三格板的数目为0。当k=1时,正好存在3个非残缺的方格,并且这三个方格可用任意一方的三格板来覆盖。 第二章 需求分析 从可以发现 当残缺方格在第1个子棋盘,用号三格板覆盖其余三个子棋盘的交界方格,可以使另外三个子棋盘转化为独立子问题; 当残缺方格在第2个子棋盘时,则首先用号三格板进行棋盘覆盖 当残缺方格在第3个子棋盘时,则首先用号三格板进行棋盘覆盖 当残缺方格在第4个子棋盘时,则首先用号三格板进行棋盘覆盖,这样就使另外三个子棋盘转化为独立子问题。 本程序有四个模块,调用关系如下: 本程序的流程图: 第四章 详细设计 主要函数: (1)、void chessBoard(int tr, int tc, int dr, int dc, int size) //tr 棋盘中左上角方格所在行,tc 棋盘中左上角方格所在列,dr 特殊点的行下标,dc 特殊点的列下标size 棋阵的行数。 (2)、int main( ); 算法分析: void chessBoard(int tr, int tc, int dr, int dc, int size) { if (size==1) return; int t = tile++; // L型骨牌号 int s = size/2; // 分割棋盘 //________________________________________________ 覆盖左上角子棋盘 if (drtr+sdctc+s) // 特殊方格在此棋盘中 chessBoard(tr, tc, dr, dc, s); else // 此棋盘中无特殊方格 { board[tr+s-1][tc+s-1]=t; // 用 t 号L型骨牌覆盖右下角 chessBoard(tr,tc,tr+s-1, tc+s-1, s);// 覆盖其余方格 } //________________________________________________ 覆盖右上角子棋盘 if (dr tr + s dc = tc + s) // 特殊方格在此棋盘中 chessBoard(tr, tc+s, dr, dc, s); else // 此棋盘中无特殊方格 { board[tr + s - 1][tc + s] = t; //用t号L型骨牌覆盖左下角 chessBoard(tr, tc+s, tr+s-1, tc+s, s);// 覆盖其余方格 } //_______________________________________________ 覆盖左下角子棋盘 if (dr = tr + s dc tc + s) // 特殊方格在此棋盘中 chessBoard(tr+s, tc, dr, dc, s); else // 此棋盘中无特殊方格 { board[tr + s][tc + s - 1] = t; // 用 t 号L型骨牌覆盖右上角 chessBoard(tr+s, tc, tr+s, tc+s-1, s);// 覆盖其余方格 } //__

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档