欢迎来到天天文库
浏览记录
ID:58684999
大小:52.24 KB
页数:5页
时间:2020-10-12
《算法实验报告--棋盘覆盖.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、算法实验报告算法分析与设计实验报告实验名称:棋盘覆盖实验日期:2011/03/06学生姓名:学生学号:算法实验报告一、实验目的在一个2^k*2^k的方格组成的棋盘中,若恰有一个方格与其他方格不同,则称该方格为一个特殊方格。用分治法将整个棋盘除特殊方格以外的方格覆盖。二、实验环境Windows7+VisualStudio2010三、实验内容1.设计思路当k>0时,将2k*2k的棋盘分割为4个2(k-1)*2(k-1)子棋盘。特殊方格必位于4个较小棋盘之一中,其余3个子棋盘中无特殊方格。为了将这3个无特殊方格的子棋盘
2、化为特殊棋盘,我们用一个L型骨牌覆盖这3个较小的棋盘的回合处,这3个子棋盘被L型骨牌覆盖的方格就成为该棋盘上的特殊方格,从而将原问题化为4个小规模的棋盘覆盖问题。递归地使用这种分割,直至棋盘化简为1*1棋盘。2.相关模块#include#includeusingnamespacestd;voidChessBoard(int,int,int,int,int);int**board;//棋盘inttile=1;//L型骨牌编号voidmain(){intsize=0;introw
3、,column;cout<<"Inputthesizenofthechessboard(n*n):"<>size;cout<<"Inputthepositionofthespecialcheck:"<>row>>column;算法实验报告board=newint*[size];for(inti=0;i4、,column,size);cout<<"Outputthechessboard(0representsthespecialone):"<5、,intdr,intdc,intsize){//tr:左上角行号//tc:左上角列号//dr:特殊方格行号//dr:特殊方格列号if(size==1)return;intt=tile++,//L型骨牌号s=size/2;//分割棋盘//覆盖左上角棋牌if(dr6、tr+s-1,tc+s-1,s);}算法实验报告//右上角if(dr=tc+s)ChessBoard(tr,tc+s,dr,dc,s);else{board[tr+s-1][tc+s]=t;ChessBoard(tr,tc+s,tr+s-1,tc+s-1,s);}//左下角if(dr>=tr+s&&dc7、/右下角if(dr>=tr+s&&dc>=tc+s)ChessBoard(tr+s,tc+s,dr,dc,s);else{board[tr+s][tc+s]=t;ChessBoard(tr+s,tc+s,tr+s,tc+s,s);}}四、实验结果分析及结论由于覆盖一个2k*2k棋盘所需的L型骨牌个数为(4k-1)/3,故此算法是一个在算法实验报告渐近意义下最优的算法。 当前文档最多预览五页,下载文档查看全文 侵权申诉 举报 1 1 2 3 4 5 / 5 此文档下载收益归作者所有 下载文档 当前文档最多预览五页,下载文档查看全文 点击下载本文档 版权提示 下载文档 举报 温馨提示: 1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。 2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。 3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。 4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。 相关文章 更多 分治算法求解棋盘覆盖问题的互动教学过程 棋盘覆盖,实验报告 算法设计与分析实验报告-棋盘覆盖问题 实验报告-马踏棋盘.docx 算法设计与分析实验报告棋盘覆盖问题.doc 算法与算法设计+棋盘覆盖问题.doc 棋盘覆盖算法.doc 棋盘覆盖实验报告.docx 分治算法实验---棋盘覆盖问题.docx 棋盘覆盖问题.pptx 相关标签 实验报告 算法 覆盖
4、,column,size);cout<<"Outputthechessboard(0representsthespecialone):"<5、,intdr,intdc,intsize){//tr:左上角行号//tc:左上角列号//dr:特殊方格行号//dr:特殊方格列号if(size==1)return;intt=tile++,//L型骨牌号s=size/2;//分割棋盘//覆盖左上角棋牌if(dr6、tr+s-1,tc+s-1,s);}算法实验报告//右上角if(dr=tc+s)ChessBoard(tr,tc+s,dr,dc,s);else{board[tr+s-1][tc+s]=t;ChessBoard(tr,tc+s,tr+s-1,tc+s-1,s);}//左下角if(dr>=tr+s&&dc7、/右下角if(dr>=tr+s&&dc>=tc+s)ChessBoard(tr+s,tc+s,dr,dc,s);else{board[tr+s][tc+s]=t;ChessBoard(tr+s,tc+s,tr+s,tc+s,s);}}四、实验结果分析及结论由于覆盖一个2k*2k棋盘所需的L型骨牌个数为(4k-1)/3,故此算法是一个在算法实验报告渐近意义下最优的算法。 当前文档最多预览五页,下载文档查看全文 侵权申诉 举报 1 1 2 3 4 5 / 5 此文档下载收益归作者所有 下载文档 当前文档最多预览五页,下载文档查看全文 点击下载本文档 版权提示 下载文档 举报 温馨提示: 1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。 2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。 3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。 4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。 相关文章 更多 分治算法求解棋盘覆盖问题的互动教学过程 棋盘覆盖,实验报告 算法设计与分析实验报告-棋盘覆盖问题 实验报告-马踏棋盘.docx 算法设计与分析实验报告棋盘覆盖问题.doc 算法与算法设计+棋盘覆盖问题.doc 棋盘覆盖算法.doc 棋盘覆盖实验报告.docx 分治算法实验---棋盘覆盖问题.docx 棋盘覆盖问题.pptx 相关标签 实验报告 算法 覆盖
5、,intdr,intdc,intsize){//tr:左上角行号//tc:左上角列号//dr:特殊方格行号//dr:特殊方格列号if(size==1)return;intt=tile++,//L型骨牌号s=size/2;//分割棋盘//覆盖左上角棋牌if(dr
6、tr+s-1,tc+s-1,s);}算法实验报告//右上角if(dr
7、/右下角if(dr>=tr+s&&dc>=tc+s)ChessBoard(tr+s,tc+s,dr,dc,s);else{board[tr+s][tc+s]=t;ChessBoard(tr+s,tc+s,tr+s,tc+s,s);}}四、实验结果分析及结论由于覆盖一个2k*2k棋盘所需的L型骨牌个数为(4k-1)/3,故此算法是一个在算法实验报告渐近意义下最优的算法。
此文档下载收益归作者所有