Cod sursa(job #831756)

Utilizator EuBossuletMuntea Andrei EuBossulet Data 9 decembrie 2012 07:34:27
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 0.85 kb
Program permutari;
var f,q:text;
    n,i,k:integer;
    a:array[1..10] of integer;
    ok:boolean;
function valid(var k:integer):boolean;
var i:longint;
begin
        valid:=true;
        for i:=1 to k-1 do if a[i]=a[k] then valid:=false;
end;
procedure tpar(var k:integer);
var i:integer;
begin
        for i:=1 to k do write(q,a[i],' ');
        writeln(q);
end;
begin
assign(f,'permutari.in');
reset(f);
assign(q,'permutari.out');
rewrite(q);
readln(f,n);
k:=1;
while k>0 do
begin
        ok:=false;
        while (a[k]<n) and (ok=false) do
        begin
              a[k]:=a[k]+1;
              if valid(k)=true then ok:=true;
        end;
        if ok=true then if k=n then tpar(k)
                               else k:=k+1
                   else begin a[k]:=0;  k:=k-1;end;

end;
close(f);
close(q);
end.