Tải bản đầy đủ (.docx) (2 trang)

De thi Toan Tin hoc trong nha truong Bai 32

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (68.83 KB, 2 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>Bài 32/2000 - Bài toán 8 hậu </b>



(Dành cho học sinh Tiểu học)



Có rất nhiều cách xếp. Sau đây là một vài cách để các bạn tham khảo:


0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0



0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1


0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0


0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0


0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0


0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0


1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1


0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0


0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0


0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0


0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1


0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0


0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0


1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0


0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1


0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0



Để tìm hết nghiệm của bài này chúng ta phải sử dụng thuật toán Đệ quy


- Quay lui. Sau đây là chương trình, chạy ra 92 nghiệm và ghi các kết


quả đó ra file HAU.OUT.



{$A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,P-,Q+,R+,S+,T-,V+,X+}
{$M 16384,0,655360}


uses crt;



const fo = 'hau.out';
n = 8;


var A : array[1..n,1..n] of byte;
c : array[1..n] of byte;
dc1 : array[2..2*n] of byte;
dc2 : array[1-n..n-1] of byte;
sn : integer;


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

var i,j : byte;
begin


inc(sn);


writeln(f,'Nghiem thu ',sn,' la :');
for i := 1 to n do


begin


for j := 1 to n do
write(f,A[i,j],#32);
writeln(f);


end;
writeln(f);
end;


procedure vet(i : byte);
var j : byte;


begin


if i = n+1 then
begin


ghino;
exit;
end;


for j := 1 to n do


if (c[j] =0)and(dc1[i+j]=0) and (dc2[i-j]=0) then
begin


A[i,j] := 1; c[j] := 1; dc1[i+j] :=1 ; dc2[i-j] := 1;
vet(i+1);


A[i,j] := 0; c[j] := 0; dc1[i+j] :=0 ; dc2[i-j] := 0;
end;


end;
BEGIN


</div>

<!--links-->

×