Cod sursa(job #638596)

Utilizator oancea_horatiuOancea Horatiu oancea_horatiu Data 21 noiembrie 2011 00:17:33
Problema Generare de permutari Scor 100
Compilator fpc Status done
Runda Arhiva educationala Marime 1.11 kb
program permutari_n_n;
type sir=array[1..100] of byte;
var i,j,n,p,k:byte;
    s:sir;
    o,d:text;
function valid(j:byte):boolean;
  begin
    valid:=true;
    for p:=1 to j-1 do
      if s[p]=s[j] then
        begin
          valid:=false;
          break;
        end;
  end;
procedure tipar(a:sir);
  begin
    for p:=1 to n do write(o,s[p],' ');
    writeln(o,'');
  end;
begin
assign(d,'permutari.in');assign(o,'permutari.out');
reset(d);rewrite(o);
read(d,n);
i:=1;
while i<>0 do
  begin
    s[i]:=s[i]+1;
    if valid(i) then if s[i]>n then begin
                                      s[i]:=0;
                                      i:=i-1;
                                    end
                               else if i=n then
                                             begin
                                               tipar(s);
                                               s[i]:=0;
                                               i:=i-1;
                                             end
                                           else i:=i+1;
  end;
close(d);close(o);
end.