Pagini recente » Cod sursa (job #928779) | Cod sursa (job #207682) | Cod sursa (job #1506734) | Cod sursa (job #2686439) | Cod sursa (job #493099)
Cod sursa(job #493099)
program permutari;
var n:integer;f,g:text;
sol:array[1..10]of integer;
procedure init(k:longint);
begin
sol[k]:=0;
end;
function succesor(k:longint):boolean;
begin
if sol[k]<n then begin
sol[k]:=sol[k]+1;
succesor:=true;
end
else succesor:=false;
end;
function valid(k:longint):boolean;
var i:longint;
begin
valid:=true;
for i:=1 to k-1 do
if sol[i]=sol[k] then valid:=false;
end;
function solutie(k:longint):boolean;
begin
solutie:=(k=n+1);
end;
procedure tipar;
var i:longint;
begin
for i:=1 to n do write(g,sol[i]);
writeln;
end;
procedure back(k:longint);
begin
if solutie(k) then tipar
else begin
init(k);
while succesor(k) do
if valid(k) then back(k+1);
end;
end;
begin
assign(f,'permutari.in');reset(f);
assign(g,'permutari.out');rewrite(g);
readln(f,n);
back(1);
close(f);close(g);
end.