Cod sursa(job #729963)

Utilizator Buzu_Tudor_RoCont vechi Buzu_Tudor_Ro Data 31 martie 2012 18:32:26
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.77 kb
Program permut_arena;
type stiva=array[0..10] of byte;
var fi,fo : text; n : byte;  st:stiva;

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

Function valid(k:byte):boolean;
var i:byte; t:boolean;
begin
    t:=true;
    for i:=1 to k-1 do if st[i]=st[k] then t:=false;
    valid:=t;
end;

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

begin
    assign(fi,'permutari.in'); reset(fi); read(fi,n);
    assign(fo,'permutari.out'); rewrite(fo);

    back(1);

    close(fi); close(fo);
end.