完善程序二题.doc

上传人:公**** 文档编号:544577944 上传时间:2023-03-05 格式:DOC 页数:3 大小:161.50KB
返回 下载 相关 举报
完善程序二题.doc_第1页
第1页 / 共3页
完善程序二题.doc_第2页
第2页 / 共3页
完善程序二题.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《完善程序二题.doc》由会员分享,可在线阅读,更多相关《完善程序二题.doc(3页珍藏版)》请在金锄头文库上搜索。

1、223321134155445-11、(棋盘覆盖问题)在一个2k2 k个方格组成的棋盘中恰有一个方格与其它方格不同(图中标记为-1的方格),称之为特殊方格。现用L型(占3个小方格)纸片覆盖棋盘上除特殊方格的所有部分,各纸片不得重叠,于是,用到的纸片数恰好是(4 k-1)/3。在下表给出的一个覆盖方案中,k=2,相同的3各数字构成一个纸片。下面给出的程序使用分治法设计的,将棋盘一分为四,依次处理左上角、右上角、左下角、右下角,递归进行。请将程序补充完整。Program j402;type arr1=array1.65 of integer;arr2=array1.65 of arr1;var b

2、oard:arr2; tile:integer; size,dr,dc:integer;procedure chessboard(tr,tc:integer; dr,dc:integer; var size:integer);var t,s:integer;beginif (size=1) then ;t:=tile; inc(tile);s:=size div 2;if then chessboard(tr,tc,dr,dc,s) else beginboardtr+s-1 tc+s-1:=t;end;if (dr=tc+s) then chessboard(tr,tc+s,dr,dc,s)

3、else begin boardtr+s-1tc+s:=t; end;if (dr=tr+s) and (dc=tr+s) and (dc=tc+s) then chessboard(tr+s,tc+s,dr,dc,s)else begin boardtr+stc+s:=t; end;end;procedure prt1(n:integer);var I,j:integer;beginfor I:=1 to n do beginfor j:=1 to n do write(boardij:3);writeln;end;end;beginwriteln(input size(4/8/16/64)

4、:);readln(size); writeln(input the position of special block(x,y):);readln(dr,dc);boarddrdc:=-1;tile:=1;chessboard(1,1,dr,dc,size); prt1(size);end.2【问题描述】设有n个(n=2m )选手的循环比赛,要求每一位选手都要与其他n-1位选手比赛一次。每名选手每天赛一场,循环赛共进行n-1天。【问题求解】编程排出比赛时间表。选手手对间时第一天第二天.第n-1天12.n【算法提示】1221我们先从m=1即只有两个选手的情况来看,显然可得到以下的安排表矩阵:A

5、BBA 由于各种情况性质一致,只是规模不同,参照这一矩阵,可知,对于不同的选手数量所组成的安排表矩阵,若横竖等分为四块时,对角的两块应是相等的,即:例如,当m=2时,即有4位选手参赛时,根据上述规律可得到以下安排表矩阵:【程序】program gZP43;var n,m,i,j,k,t,t1:integer;a:array1.100,1.100 of integer;begin readln(m);n:=1;for i:=1 to m do n:=n*2;for i:=1 to n do ; 矩阵第一行按自然序列排列t1:=1;for k:=1 to m do begin t1:=t1*2;

6、for t:=1 to (n div t1) do 对于k,划分为n/2k个矩阵,用t记录 for i:=(t1 div 2 + 1) to t1 do 每个矩阵规模为2k*2k for j:= to t1 do begin 由两个已知 2k-1*2k-1 矩阵,定义当前的2k*2k 矩阵t ai,j+t1*(t-1):=ai-(t1 div 2),j+t1*(t-1)-(t1 div 2); ai,j+t1*(t-1)-(t1 div 2):= end; end;for i:=1 to n do begin for j:=1 to n do write(ai,j:3);writeln end;end.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号