Pagini recente » Istoria paginii utilizator/alinaaaa | Algoritmiada 2009 - Clasament Runda 1, Clasele 9-10 | Borderou de evaluare (job #421338) | Borderou de evaluare (job #2856993) | Cod sursa (job #1600137)
var v:array[1..8] of byte;
n:byte;
function valid(k:byte):boolean;
var i:byte;
begin
valid:=true;
for i:=1 to k-1 do
if v[i]=v[k] then valid:=false;
end;
function solutie(k:byte):boolean;
begin
if k=n then solutie:=true
else solutie:=false;
end;
procedure afisare(k:byte);
var i:byte;
begin
for i:=1 to k do write(output,v[i],' ');
writeln(output);
end;
procedure backtrack(k:byte);
var i:byte;
begin
for i:=1 to n do
begin
v[k]:=i;
if valid(k)=true then
begin
if solutie(k)=true then afisare(k);
backtrack(k+1);
end;
end;
end;
Begin
assign(input,'permutari.in'); reset(input);
assign(output,'permutari.out'); rewrite(output);
readln(input,n);
backtrack(1);
close(input);
close(output);
end.