欢迎来到天天文库
浏览记录
ID:32601634
大小:78.60 KB
页数:5页
时间:2019-02-13
《10122157项镇敏实验1棋盘覆盖》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《算法设计与分析实验》实验报告实验指导教师学生姓名项镇敏学号10122157序号1实验时间上海大学计算机工程与科学学院2016年10月15B实验一、棋盘覆盖问题问题描述与实验目的:设n二,(k^O)o在一个nXn个方格组成的棋盘中,恰有1个方格与其他方格不同,称该方格为特殊方格。显然,特殊方格在棋盘中可能出现的位置有坐种,因而有r?种不同的棋盘,下图所示是k=2,n=4时16种棋盘中的一个。棋盘覆盖问题要求用下图所示的4种不同形状的L型骨牌覆盖给定棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠
2、覆盖。易知,在任何一个nXn的棋盘中,用到的L型骨牌个数恰为(『-1)/3。你的任务是给定k>l,n=2k设计一个算法实现棋盘的一•种覆盖。实验分析:使用分治策略,解决期盼覆盖问题。当k>OU寸,将以労棋盘分割成4个2k-,x2k-1子棋盘。特殊方格必位于4个较小子棋盘Z-,其余3个子棋盘中无特殊方格。使用一个L型骨牌覆盖这3个较小棋盘的会和处,将3个无特殊方格的子棋盘转化为特殊棋盘,那么这3个子棋盘上被L型骨牌覆盖的方格就成为该棋盘上的特殊方格,从而将原问题转化为4个较小规模的棋盘覆盖问题。递归的使用这
3、种分割,直至棋盘简化为1x1棋盘。递归方程:设T(k)是算法ChessBoard覆盖一个才Q棋盘所需的时间,则从算法的分治策略可知,T(k)满足下面的递归方程:「0(1)k=0T(k)=<-4T(k・l)+0(1)k>0解得T(k)=O(4k)源代码及运行结果://ChessBoard.cpp#includeviostream>#includeusingnamespacestd;inttile;intBoard[129][129];voidChessBoard(inttr’inttc,in
4、tdr’intdc,intsize){if(size==l)return;intt=tile++,s=size/2;if(dr
5、tr,tc+s,tr+s-l,tc+s,s);}if(dr>=tr+s&&dc=tr+s&&dc>=tc+s)ChessBoard(tr+s/tc+s,dr,dc,s);elseBoard[tr+s][tc+s]=t;ChessBoard(tr+s,tc+s,tr+s,tc+s,s);}}intmain()
6、{intssize,x,y,size,k二1;while(cin»ssize»x»y){size=pow(2,ssize);for(inti=0;i7、]«,,t";cout«endl;}}return0;}输入:326匕26ICase1:n»3B3448899B2248-179E266107711656110101111131411181919tt312141418181719Ll512121620171721Ll515161620202121体会:通过这次实验的练习,加深了我对分治策略的理解。将一个大问题分解为n个规模较小的子问题,子问题相互独立且与原问题相同,通过递归方式解决问题,最终将各了问题的解合并即为原问题的解。这是一种完备的思考方式和解题8、方式,可以解决很多看上去繁琐却又有规律可循的问题 当前文档最多预览五页,下载文档查看全文 侵权申诉 举报 1 1 2 3 4 5 / 5 此文档下载收益归作者所有 下载文档 当前文档最多预览五页,下载文档查看全文 点击下载本文档 版权提示 下载文档 举报 温馨提示: 1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。 2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。 3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。 4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。 相关文章 更多 棋盘覆盖和整数规划问题 棋盘覆盖和整数规划问题 棋盘覆盖,实验报告 算法设计与分析实验报告-棋盘覆盖问题 算法设计与分析实验报告棋盘覆盖问题.doc 棋盘覆盖算法.doc 棋盘覆盖实验报告.docx 分治算法实验---棋盘覆盖问题.docx 算法实验报告--棋盘覆盖.docx 棋盘覆盖问题.pptx 相关标签 项镇敏 覆盖 实验
7、]«,,t";cout«endl;}}return0;}输入:326匕26ICase1:n»3B3448899B2248-179E266107711656110101111131411181919tt312141418181719Ll512121620171721Ll515161620202121体会:通过这次实验的练习,加深了我对分治策略的理解。将一个大问题分解为n个规模较小的子问题,子问题相互独立且与原问题相同,通过递归方式解决问题,最终将各了问题的解合并即为原问题的解。这是一种完备的思考方式和解题
8、方式,可以解决很多看上去繁琐却又有规律可循的问题
此文档下载收益归作者所有