Cod sursa(job #308383)

Utilizator stan_catalinUTCN-STAN-CATALIN-GABRIEL stan_catalin Data 26 aprilie 2009 22:24:52
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 1.02 kb
program permutari;

var f,g:text;
    n:3..8;
    k:0..9;
    s:array[1..10] of 0..8;


function cont(k:integer) :boolean;
   var ok:boolean;
       i:integer;
   begin
      ok:=true;
      for i:=1 to k-1 do
         if s[i]=s[k] then
            begin
               ok:=false;
               break;
            end;
      cont:=ok;
   end;


procedure tipar;
   var i:integer;
   begin
      for i:=1 to n do
         write(g,s[i],' ');
         writeln(g);
   end;


begin
   assign(f,'permutari.in'); reset(f);
   assign(g,'permutari.out'); rewrite(g);

   read(f,n);

   k:=1;
   s[k]:=0;

   while k>0 do
         if s[k]<n then
            begin
               s[k]:=s[k]+1;
               if cont(k) then
                  if k=n then tipar
                    else
                       begin
                          k:=k+1;
                          s[k]:=0;
                       end;
            end
            else
               k:=k-1;

   close(f);
   close(g);
end.