v8pas
v8.pas
Pascal dilinde
{ 8 Queens }
program v8p(input,output);
type
list = array[1..8] of integer;
var
m: list;
i,n,d,a: integer;
label 100, 180, 210, 240, 270, 999;
begin
for i:=1 to 8 do m[i]:=1;
n:=0;
i:=1;
100: if i=1 then goto 180;
d:=0;
for a:=i-1 downto 1 do begin
d:=d+1;
if m[i]=m[a] then goto 210;
if m[i]+d=m[a] then goto 210;
if m[i]-d=m[a] then goto 210;
end;
180: i:=i+1;
if i=9 then goto 270;
goto 100;
210: m[i]:=m[i]+1;
if m[i]<9 then goto 100;
m[i]:=1;
240: i:=i-1;
if i>0 then goto 210;
goto 999;
270: n:=n+1;
writeln(n:2,' a',m[1],' b',m[2],' c',m[3],' d',m[4],' e',m[5],' f',m[6],' g',m[7],' h',m[8]);
goto 240;
999:
end.