Pagini recente » Cod sursa (job #1902294) | Cod sursa (job #2215096) | Cod sursa (job #1811916) | Cod sursa (job #1663681) | Cod sursa (job #902216)
Cod sursa(job #902216)
program permutari;
var
f,g:text;
ok:boolean;
v:array[1..8] of integer;
i,k,n:integer;
function valid(k:integer) :boolean;
begin
valid:=true;
for i:=1 to k-1 do
if (v[i]=v[k]) or (abs(k-i)=abs(v[k]-v[i])) then valid:=false;
end;
procedure tipar(n:integer);
begin
for i:=1 to n do
writeln(g,i,' ',v[i]);
writeln(g);
end;
begin
assign(f,'dame.in');reset(f);
assign(g,'dame.out');rewrite(g);
read(f,n);
writeln(g,n);
k:=1;
v[k]:=0;
while k>0 do
begin
ok:=false;
while(v[k]<n) and (ok=false) do
begin
v[k]:=v[k]+1;
if valid(k) then ok:=true;
end;
if ok=false then k:=k-1
else if k=n then begin tipar(k);
break;
end
else begin
k:=k+1;
v[k]:=0;
end;
end;
close(f);close(g);
end.