Cod sursa(job #327486)

Utilizator mimarcelMoldovan Marcel mimarcel Data 29 iunie 2009 09:18:08
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.71 kb
var n:byte;
    st:array[1..8]of byte;

function valid(p:byte):boolean;
var ok:boolean;
    i:byte;
begin
ok:=true;
i:=1;
while(i<p)and(ok)do begin
                    if st[i]=st[p] then ok:=false;
                    inc(i);
                    end;
valid:=ok;
end;

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

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

begin
assign(input,'permutari.in');
reset(input);
assign(output,'permutari.out');
rewrite(output);
readln(n);
back(1);
close(input);
close(output);
end.