Cod sursa(job #144927)

Utilizator RobybrasovRobert Hangu Robybrasov Data 28 februarie 2008 09:31:13
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.61 kb
var st:array[1..10] of byte;
    n:byte;
    f:text;

function valid(p:byte):boolean;
var i:byte;
begin
  i:=1;
  while (i<p) and (st[i]<>st[p]) do inc(i);
  valid:=i=p;
end;

procedure scrie;
var i:byte;
begin
  for i:=1 to n do write(f,st[i],' ');
  writeln(f);
end;

procedure back(p:byte);
var i:byte;
begin
  for i:=1 to n do
    begin
      st[p]:=i;
      if valid(p) then
        if p=n then scrie
        else back(p+1);
    end;
end;

begin
  assign(f,'permutari.in');
  reset(f);
  read(f,n);
  close(f);
  assign(f,'permutari.out');
  rewrite(f);
  back(1);
  close(f);
end.