收藏 分享(赏)

靶型数独.doc

上传人:HR专家 文档编号:11666167 上传时间:2020-11-03 格式:DOC 页数:4 大小:16.50KB
下载 相关 举报
靶型数独.doc_第1页
第1页 / 共4页
靶型数独.doc_第2页
第2页 / 共4页
靶型数独.doc_第3页
第3页 / 共4页
靶型数独.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、type arr1=array1.80,1.9 of boolean; arr2=array1.80 of integer; rec=record r,len:integer; h:arr1; l:arr2; end;var h,ht:arr1;l,lt:arr2;h1,h2,h3:array1.9,1.9 of boolean;h4:array1.80 of boolean;a,b,fen:array1.9,1.9 of integer;v:array1.80,1.2 of integer;n,t,max,c:integer;zh:array0.80 of rec;function sma(

2、x,y:integer):integer; 求最小函数beginif xmax then max:=p;end;procedure ready; var i,j,x,y,min,p:integer;beginfor i:=1 to 9 do for j:=1 to 9 do begin read(ai,j); bi,j:=(i-1) div 3*3+(j-1) div 3+1; feni,j:=sma(sma(9-i+1,i),sma(9-j+1,j)+5; if ai,j=0 then begin inc(n); vn,1:=i; vn,2:=j; endelse begin h1i,ai,

3、j:=true; h2j,ai,j:=true; h3bi,j,ai,j:=true; inc(c,ai,j*feni,j); end; end;min:=9; p:=0;for i:=1 to n do begin x:=vi,1; y:=vi,2; for j:=1 to 9 do if (not h1x,j) and (not h2y,j) and (not h3bx,y,j) then begin inc(li); hi,j:=true; end; if limin then begin min:=li; p:=i; end; end;t:=1; zht.r:=p;zh0.h:=h;

4、zh0.l:=l;h4p:=true;end;procedure zhao;var min,p,i:integer;beginmin:=9; p:=0;for i:=1 to n do if not h4i then if lti0 do begin inc(zht.len); if zht.len9 then begin h4zht.r:=false; dec(t); endelse if zht-1.hzht.r,zht.len then expend(zht.len); end;end;=main=beginready;work;if max=0 then writeln(-1) else writeln(max);End。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报