Cod sursa(job #1356852)

Utilizator Stefan.Andras Stefan Stefan. Data 23 februarie 2015 17:01:02
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 1.02 kb
program infoarena3;
var f,g:text;
    x:array[1..8] of byte;
    n:integer;
procedure afisare(k:integer);
var i:integer;
begin
  for i:=1 to k do
     write(g,x[i],' ');
  writeln(g);
end;
function cont(k:integer):boolean;
var i:integer;
begin
   cont:=true;
   for i:=1 to k-1 do
      if x[i]=x[k] then
         begin
           cont:=false;
           break;
         end;
end;
procedure bkt;
var k:integer;
begin
   k:=1;
   x[k]:=0;
   while k>0 do
      if x[k]<n then// daca mai exista valori netestate
        begin
          x[k]:=x[k]+1;// dau urmatoarea valoare posibila
          if cont(k) then
              if k=n then// daca am determinat o solutie
                afisare(k)
              else
                begin
                  k:=k+1;
                  x[k]:=0;
                end;
        end
        else
        k:=k-1;
end;


begin
   assign(f,'permutari.in'); reset(f);
   assign(g,'permutari.out'); rewrite(g);
   readln(f,n);
   bkt();
   close(f); close(g);
end.