Cod sursa(job #638596)
Utilizator | Oancea 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.