Cod sursa(job #198083)

Utilizator andrici_cezarAndrici Cezar andrici_cezar Data 8 iulie 2008 13:49:38
Problema Generare de permutari Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.99 kb
program permutari;
var  xarray[1..10] of byte;
     n,k,v,jbyte;
function valid(kinteger)boolean;
var ibyte;
begin
 valid=true;
 for i=1 to k-1 do
    if x[k]=x[i] then begin
                      valid=false;
                      exit;
                      end;
end;
begin
assign(f,'permutari.in');reset(f);
assign(g,'permutari.out');rewrite(g);
read(f,n); 
x[1]=0; k=1;
 while k0 do begin
              v=0;
              while (v=0)and(x[k]+1=n) do begin
                                           x[k]=x[k]+1;
                                           if valid(k) then v=1;
                                           end;
             if v=0 then k=k-1
             else if kn then begin
                              k=k+1;
                              x[k]=0;
                              end
                  else begin
                       for j=1 to n do write(g,x[j],' ');
                       writeln(g);
                       end
            end;
end.