Cod sursa(job #431174)

Utilizator andreifirstCioara Andrei Ioan andreifirst Data 31 martie 2010 18:53:08
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.75 kb
var v:array[1..100] of integer;
    p, k, n, i, j:integer;
    f, g:text;

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

function valid (x:integer):boolean;
  begin
  valid:=true;
  for i := 1 to x-1 do
    begin
    if v[i]=v[x] then valid := false;
    end;
  end;


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

readln (f, n);
close (f);

p:= 1;
while p > 0 do
  begin
  v[p]:=v[p]+1;
  if valid(p) = true then
    begin
    if v[p]> n then
      begin
      v[p]:=0;
      p:=p-1;
      end
               else
      begin
      if p < n then p:=p+1
               else tipar(p);
      end;
    end;
  end;

close (g);
end.