Cod sursa(job #688009)

Utilizator vasile_pojogaPojoga Vasile vasile_pojoga Data 22 februarie 2012 22:30:03
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.88 kb
program permutari;
var n,s:byte;
    x:array[1..100] of byte;
    fo:text;
procedure tipar(n:byte);
var i:byte;
begin
for i:=1 to n do write(fo,x[i],' ');
writeln(fo);
end;

function valid(k:byte):boolean;
var i:byte;
    b:boolean;
begin
b:=true;
for i:=1 to k-1 do if x[k]=x[i] then begin
                                     b:=false;
                                     break
                                     end;

if b then valid:=true
     else valid:=false;
end;

procedure back(k:byte);
var i:byte;
begin
if k=n+1 then tipar(k-1)
         else
         for i:=1 to n do begin
                          x[k]:=i;
                          if valid(k) then back(k+1);
                          end;
end;

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